We are just a group of frugal tea-lovers. The less money you spend each month, the more you can spend on TEA.
- Eunice Redbush Kontor
- Grace Earl Grey Farren
- Hatairy Dos-Fruity Santos
- Ollie Chamomile Kennedy
- Rhianna Peppermint Stuart
- Sabarinth Oolong Kunnambath
- income
- categories
- bills, groceries, entertainment, travel, loans, hobbies, savings
- amount can be set against each of these
- net
- login & authentication (add the notion of a user)
- check the user knows how to make tea
- front end page with fields
- bcrypt / encryption
- database for username and passwords
- collection for x
- custom categories
- ideal spending / savings target
- outgoings
- pie-chart for budget split
- multiple sources of income
- separate months
It uses:
- Express web framework for Node.js.
- Nodemon to reload the server automatically.
- Handlebars to render view templates.
- Mongoose to model objects in MongoDB.
- ESLint for linting.
- Jest for testing.
- Cypress for end-to-end testing.
https://trello.com/b/QN4T3w6L/final-project-covid-comparision
- Install Node Version Manager (NVM)
Then follow the instructions to update your
brew install nvm npm i express
~/.bash_profile
. - Open a new terminal
- Install the latest long term support (LTS) version of Node.js, currently
12.14.1
.nvm install 12.14.1
- Fork this repository
- Rename your fork to
acebook-<team name>
- Clone your fork to your local machine
- Install Node.js dependencies
npm install
- Install an ESLint plugin for your editor. For example: linter-eslint for Atom.
- Install MongoDB
brew tap mongodb/brew brew install [email protected]
- Start MongoDB
brew services start [email protected]
- Start the server
npm start
- Browse to http://localhost:3000
- Run all tests
npm test
- Run a check
npm run lint # linter only npm run test:unit # unit tests only npm run test:integration # integration tests only
The server must be running locally with test configuration for the integration tests to pass.
npm run start:test
This starts the server on port 3030
and uses the acebook_test
MongoDB database,
so that integration tests do not interact with the development server.
Mongo
use frugali_TEA_test
db.createCollection('budget')
db.budget.insert({
Bills: 1500,
Entertainment: 250,
Travel: 250,
Loans: 250,
Tea: 250,
Hobbies: 250,
Savings: 250
})
use frugali_TEA
db.createCollection('transaction')
db.transaction.insert({
Description: 'YORKSHIRE GOLD',
Category: 'TEA',
Amount: 5
})
use frugali_TEA_test
db.createCollection('transaction')
db.transaction.insert({
Description: 'YORKSHIRE GOLD',
Category: 'TEA',
Amount: 5
})