Budgeting web-app back-end (REST API) built with PostgreSQL/Sequelize, Express/Node/NPM, and ES6 JavaScript. Features session authentication, data validation, CRUD functionality, and reporting. Developed, documented, and presented for capstone project.
-
Install npm and postgreSQL on your local machine.
-
Clone this repo:
git clone https://github.com/bclewi5555/budget-free.git
-
Navigate to the server directory
-
Create a new environment config file named
.env
with the contents below, replacingsecret
with your actual postgres user password and session secret.
PORT=4000
REACT_APP_PORT=3000
NODE_ENV=development
PGPORT=5432
PGUSER=postgres
PGHOST=localhost
PGDATABASE=budgetfree
PGPASSWORD=secretpassword
SESSION_LIFETIME=3600000
SESSION_SECRET=secret
SESSION_STORE_CLEANUP_INTERVAL=900000
SESSION_STORE_EXPIRATION=86400000
PASSWORD_HASH_SAMPLE=<Redacted Sample Hash For Sample User>
- Start up an empty PosgreSQL database named
budgetfree
from the default user (postgres
) on the default port (5432
)
npm run start
This project will be a free, open-source, and secure web-based application which can be run from a compatible browser on any device. The app will adopt the envelope system budgeting strategy (as opposed to “set and forget”) in order to empower users to better understand and control their finances. Users can organize monthly budgets with categories (Income, Food, Utilities, etc.), each customizable with a list of subcategories, also known as envelopes (Power, Water, Internet, ...) which transactions can be added to. Budget owners can invite others to join their budget and revoke shared access at any time, create dependent collaborators (children for example) as well as import or export their budget data.