This app facilitates the check-in and check-out process for volunteers and notifies them about their roles and where they should be during their shifts. Hence, it has a back end that processes the data, front end desktop for the administrator to edit the information, and the front end mobile that displays the most up-to-date information to the volunteers.
Meeting minutes and attendance
- Project Lead: John Gallagher
- Mobile Lead: Joseph Higgins
- UX/Design/Developer: Anna Kasagawa
- UX/Design/Secretary/Developer: Lexi Walker
- Developer: Meet Patel
- Developer: Phoebe Yang
- Continuous Integration/Developer: Kate Zheng
- Developer: Julia Hedrick
- Developer: Michael Dunkelman
- Documentation/Developer: Josh Lee
- Developer: Bhushan Suwal
- Developer: Kevin Bae
- Developer: Andrea Vorametsanti
The project consists of three major parts: the backend (which utilizes the database), the desktop frontend, and the mobile frontend. The backend is built on Node.js and Express, with the MongoDB database service running. The frontend desktop is built on Angular. The frontend mobile is built on Ionic.
List of installation guidelines and instructions to run the different parts of the PMD project.
- Database - This is a part of the backend in reality, but the install and run instructions are separate.
- Back End
- Desktop Front End
- Mobile Front End
- Install node, which comes with node package manager. Npm is important for installing both pieces of the frontend and the backend.
- Requirements: none, can be installed from within any directory
- Commands: download here, Google the commands to set the right acess for your OS (it varies)
- Requirements: none, can be run from within any directory
- Command: mongod
- Requirements: MongoDB must be running (see above)
- Command: mongo pmd (where “pmd” is the name of the database to be created)
- Requirements: MongoDB must be running (see above), database named “pmd” must exist
- Command: node app.js (runs the file “app.js”)
- If anything is wrong with the database (ex. it's been seeded multiple times), then you should drop the database
- Requirements: on PMD database (command: use pmd)
- Command: db.dropDatabase()
- Requirements: within directory '/backend', npm installed
- Command: npm install
- Requirements: Back end install complete, currently within directory '/backend', MongoDB running
- Requirements: A node api key json file for the firebase admin SDK. Create one here.
- Command: node index.js
- If running properly, should display “Node app is running on port 500”
- Requirements: none, can be within any directory, npm installed
- Command: npm install @angular/cli, or download manually through this link
- Requirements: Within directory '/DesktopFrontend', npm installed
- Command: npm install
- Requirements: Within directory '/DesktopFrontend', above install complete
- Command: ng serve
- To View: localhost:4200 in browser
- Requirements: none, can be within any directory, npm installed
- Command: npm install ionic
- Requirements: Within directory '/MobileFrontend', npm installed
- Command: npm install
- Requirements: Within directory '/MobileFrontend', above install complete
- Command: ionic serve
- To View: localhost:8100 in browser