Michael Bonner, Ethan Zimmerman, Andre Willie, Zoljargal Fallows, and Chris Carnivale
Reach your financial goals by tracking every dollar you spend and earn. This app allows you to add all of your incomes and expenses and visualize them through convenient charts and graphs. The front-end utilizes React to create a responsive design. The back-end leverages the RRule library to allow for recurring expenses.
Verifies credentials for logins
Allows automatic refreshing of token
Handles registration/sign-up
Retrieves all categories for user
Allows user to add new categories
Retrieves single category based on id provided
Allows user to make changes to a category based on id provided
Allows user to delete a catgory based on id provided
Retrieves all expenses for the user
Allows user to add a new expense
Retrieves single expense based on id provided
Allows the user to delete an expense based on id provided
Allows the user to make changes to an expense based on id provided
Retrieves all incomes for the user
Allows user to add a new income
Retrieves single income based on id provided
Allows the user to delete an income based on id provided
Allows the user to make changes to an incomes based on id provided
Retrieves incomes and expenses for a calendar year for the user
Retrieves incomes and expenses for a given month and year for the user
- RRule
- Joi
- Luxon
The Usual Suspects:
- Node
- Express
- PostgreSQL
- Knex.js
- Mocha, Chai, Supertest
Deployed via Heroku
Special thanks to rrule and luxon for doing all the complex date math and preserving our sanity (mostly)
Set-up .env file with NODE_ENV= PORT= DB_MIGRATION_USER= DB_MIGRATION_PASS= DB_MIGRATION_HOST= DB_MIGRATION_PORT= DB_MIGRATION_DATABASE= DATBASE_URL= TEST_DB_URL= JWT_SECRET= JWT_EXPIRY=
If using user postgres
:
createdb -U postgres spendful
createdb -U postgres spendful_test
If your postgres
user has a password be sure to set it in .env
for all appropriate fields. Or if using a different user, update appropriately.
npm install
npm run migrate
env MIGRATION_DB_NAME=spaced-repetition-test npm run migrate
## Scripts
Start the application `npm start`
Start nodemon for the application `npm run dev`
Run the migrations up `npm run migrate`
Run the migrations down `npm run migrate 0`
Seed data in the terminal with `psql -U postgres -d spendful -f ./seeds/seed_data.sql`