Developer Names:
- Adam Podolak
- Austin Bennett
- Christian Petricca
- Evan Sturmey
- Jacob Kish
Date of project start: September 16th, 2024
A custom financial expense reporting platform for the McMaster Engineering Society (MES). This platform streamlines the reimbursement process for 60+ student groups and individuals, offering features like payment requests, intramural funding applications, custom approval workflows, audit tracking, and automated notifications.
The folders and files for this project are as follows:
- docs - Documentation for the project
- refs - Reference material used for the project, including papers
- src - Source code
- test - Test cases
This project uses:
- React / Next.js for the frontend
- MongoDB for the database
- Tailwind CSS for styling
- TypeScript for type safety in both frontend and backend
Make sure the following are installed on your system:
-
Clone the repository:
git clone https://github.com/yourusername/yourproject.git cd yourproject
-
Install dependencies for both backend and frontend:
-
Backend:
cd src/backend npm install
-
Frontend:
cd src/frontend npm install
✅ All dependencies including Next.js, Tailwind CSS, and TypeScript are declared in each
package.json
, so just runningnpm install
takes care of everything. -
Create a .env
file in the backend/
directory with the following content. Be sure to replace the placeholder values with your actual credentials and API keys (do not commit these secrets to version control):
# Application Port
ORT=3001
# Plaid API Credentials
PLAID_CLIENT_ID=YOUR_PLAID_CLIENT_ID
PLAID_SECRET=YOUR_PLAID_SECRET
PLAID_ENV=sandbox
# Email Service Configuration
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=YOUR_EMAIL_ADDRESS
EMAIL_PASS="YOUR_EMAIL_PASSWORD"
# MongoDB Connection URI
MONGODB_URI=YOUR_MONGODB_CONNECTION_URI
To run the full development environment, start both the backend and frontend servers in separate terminals:
-
Start the Backend:
cd src/backend npm run dev
-
Start the Frontend:
cd src/frontend npm run dev
The frontend (Next.js app) will typically be available at:
http://localhost:3000
The backend (API server) will run on its configured port, such as:
http://localhost:5000