Skip to content

High level systems architecture

Laura Casals edited this page Sep 29, 2021 · 5 revisions

Frontend Technologies:

  1. Hyper Text Markup Language (HTML):
    HTML will allow the browser to display the content of the website.

  2. Cascading Style Sheets (CSS):
    CSS will be used to style web pages and enhance the user interface and user experience.

  3. Bootstrap:
    Bootstrap is the CSS framework that will be used to provide mobile-first and responsiveness for the WebPages and templates for components, like forms, buttons, and navigation. License: /~https://github.com/twbs/bootstrap/blob/main/LICENSE

  4. JavaScript:
    The JavaScript language will be used to program the web pages’ behavior and functionality and define how the data flows and is stored on the client side.

  5. ReactJS:
    A JavaScript framework will be used for modern, scalable, and modular web app development with the use of interactive and reusable components. License: /~https://github.com/facebook/react/blob/main/LICENSE

Backend Technologies:

  1. FAU Lamp Server:
    The Fall 2021 CEN4010 term project will be temporarily hosted on a Florida Atlantic University server.

  2. NodeJS:
    A JavaScript runtime environment that will be used to develop and run our web application using JavaScript. It will also provide tools to facilitate and automate the development process. License: /~https://github.com/nodejs/node/blob/master/LICENSE

  3. ExpressJS:
    This will be used to facilitate the development of the backend API and interfacing with the database. License: /~https://github.com/expressjs/express/blob/master/LICENSE

  4. MongoDB:
    This is a NoSQL database system that will be used to build an easily scalable database with flexible and evolving data schemas.License: /~https://github.com/mongodb/mongo/blob/master/LICENSE-Community.txt

Other Technologies

  1. Github:
    A code-hosting platform will allow our team to work on the app and track its versions without compromising the project’s integrity.

  2. Jira Software:
    Jira is a team and work-management tool that will be used to track progress and manage our team project while using agile methodologies. It will also serve as the primary means of communication for the team.

  3. Jira Confluence:
    A collaboration wiki tool that will allow our team to develop the documentation necessary for our application collaboratively. It will also serve as a workspace for sharing knowledge and notes.

Browser Compatibility

The system will be a web-based web app that operates on at least two of all of the major browsers, including Google Chrome, Mozilla Firefox, Safari, Opera, and Internet Explorer. In addition, it will have functionality that will provide alternatives if the browser does not have JavaScript installed on it.