Profiteer is a money-saving app designed to show spending trends and educate users about finances. It allows users to set spending limits and track their financial progress over time.
Our project's source code is hosted on GitHub. We utilized branches such as 'frontend' and 'backend' for specific tasks, merging them into the 'end-to-end-registration' branch upon completion. The 'main' branch was used for deployment-ready features. Clear commit messages were used for better collaboration.
We used Jira for agile project management, Discord for communication, and Kanban boards to track tasks and progress.
Each segment was rigorously tested to ensure new functionality didn't negatively impact the product. Tests included API calls and manual event triggering.
Profiteer utilizes the MERN stack. MongoDB securely stores user data, while frontend visualizations are powered by libraries like particles.js and D3.js.
To use Profiteer, clone the repository and install dependencies using npm. Copy the following configuration to a .env
file before filling it out with appropriate values:
# Copy this over to .env before you fill it out!
# Get your Plaid API keys from the dashboard: https://dashboard.plaid.com/account/keys
PLAID_CLIENT_ID=YOUR_CLIENT_ID
PLAID_SECRET=YOUR_SECRET_KEY
# Use 'sandbox' to test with fake credentials in Plaid's Sandbox environment
# Use 'development' to test with real credentials while developing
# Use 'production' to go live with real users
PLAID_ENV=sandbox
# (Optional) A URL for the webhook receiver running on port 5001. In the
# tutorial, we'll use ngrok to expose this to the outside world.
WEBHOOK_URL=https://www.example.com/server/receive_webhook
Users can sign up, connect their bank information, and access the dashboard. Detailed instructions are provided within the app.
API keys for Plaid are required to run Profiteer locally.
We mitigated risks by safeguarding API keys, using trusted services like Plaid, and preventing SQL injection attacks.
Profiteer features an appealing frontend, efficient database structure, and secure data handling.
- D3 Graph Gallery
- MERN Stack Development with Axios and Express
- Particles.js
- Plaid API Documentation
- Plaid Transactions API
- Jacob Hoppenstedt
- Trevor Gross
- Drew Reisner
- Nathaniel Babione