FOR current and former University of Florida students and professors WHO want to prepare for upcoming courses, perform well in their current studies, and remain updated on the latest industry trends, THE AggreGator is a web-based service THAT provides a forum for Gators to discuss, ask questions, share material, and encourage each other achieve their goals in the classroom and the boardroom. UNLIKE other message boards or blog services, OUR product is the only service of its kind made by Gators and only for Gators past, present, and future.
- Brian Hoblin, SCRUM Master/Developer
- Alejandro Capellan, Project Manager/Developer
- Jacob Boney, Developer
- Steven DeLoach, Developer
A list of the frameworks and technologies used to build this project:
- React, Single-page application for the frontend
- Node.js 16.13.2, Javascript runtime on the server
- npm 8.1.2, Package manager for Nodejs
- Express (via npm) for backend API operations
- Passport, Simple, unobtrusive authentication for Node.js
- Bootswatch, Bootstrap-compatible CSS framework
- MongoDB Atlas, NoSQL Database as a Service (DBaaS)
- Mongoose, Elegant MongoDB object modeling for Node.js
- Heroku, Platform as a Service (PaaS) used to demonstrate prototype
- Visual Studio Code, Our team's preferred IDE
- Mocha (via npm), JavaScript test framework
- Chai (via npm), Assertion library
- Project Proposal
- User Stories
- Storymap
- Software Architecture
- System Context Model
- Sprint 0 Product Backlog Created
- Sprint 0 Planning Poker
- Sprint 0 Backlog
- Sprint 0 Execution and Design Presentation
- Sprint 0 Retrospective
- Sprint 1 Product Backlog Groomed
- Sprint 1 Planning Poker
- Sprint 1 Backlog
- Sprint 1 Execution and Technical Presentation
- Sprint 1 Retrospective
- Sprint 2 Product Backlog Groomed
- Sprint 2 Planning Poker
- Sprint 2 Backlog
- Sprint 2 Execution and Final Presentation
The contents of this zip file is a complete system build of our final project. The code to run the
client is located in the aggregator
directory and the code to run the server is located in the
backend
directory. A very high-level view of the project's directory structure is as follows:
Root-Project-Directory
┣━ aggregator ⇽ this is the react frontend code
┃ ┣━ build ⇽ during standalone and production mode, the client is served from here
┃ ┗━ src ⇽ during development mode, the client is served from here
┗━ backend ⇽ this is the express.js API code
┣━ config ⇽ important configuration keys are defined here depending on the mode
┗━ app.js ⇽ the main entry point for the backend API express server
Unzip the provided project zip file. This project includes all necessary dependencies and a build of the latest client. There is no need to run any installation or build scripts once the project is unzipped.
This project relies upon the Node.js v16.13.2 or higher, and npm v8.1.2 or higher. Verify Node.js and npm is properly installed by running the following command:
$ node -v
v16.13.2
$ npm -v
8.1.2
If live reloading is not desired and one only wishes to see the application run as quickly as possibly on their local machine, standalone mode is suggested. Once the project is unzipped, run the following command inside the root project directory:
$ npm start
Then open a browser to http://localhost:5000/
to view the AggreGator application.
In development mode, two independent servers are started, one serving the backend API and the other serving the client to enable live reloading. To start the project in development mode, run the following command inside the root project directory:
$ npm run dev
A browser window should open automatically to http://localhost:3000/
after both servers have
finished loading.
To run tests locally, run the following command from inside the root project directory:
$ npm run test
A working prototype is currently hosted at http://shielded-earth-21418.herokuapp.com/
. This
application is connected to a different database than the one that is used for testing and
development.