Skip to content

A project built with Node.js, Express.js, and MongoDB for you to track your personal expenses. πŸ’°πŸ’°πŸ’°

Notifications You must be signed in to change notification settings

wentingliuu/expense-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Expense Tracker

A project built with Node.js, Express.js, and MongoDB for you to track your personal expenses. πŸ’°πŸ’°πŸ’°

Please register an account via email address first, or you may quick login with Facebook, cause all the expenses would be only keep in your own account.

🌟 To try this project, you could use the dummy data to login.
🌟 This project is deployed on HEROKU as well !!!

Features

  • REGISTER: sign up an account with name, email, password
  • LOGIN: sign in to review your own expenses
  • LOGIN with 3rd-party account: quick login with Facebook account
  • LOGOUT: sign out the account by clicking the logout button
  • CREATE: record your expense (with item name, date, category, amount) at the create page
  • READ: review all the expenses at the home page
  • UPDATE: click the edit button to modify expense's data
  • DELETE: click the delete button to delete the expense
  • FILTER: filter the expenses by category

Screenshots

  • CRUD expense records CRUD

Installation and Execution

  1. Clone the files to your computer
git clone https://github.com/wentingliuu/expense-tracker.git
  1. Init: install the npm packages
cd expense-tracker
npm install
  1. Create .env file and store API Key in the file
touch .env
  1. Run MongoDB Server
cd ~/mongodb/bin/
./mongod --dbpath <path to mongodb-data directory>
  • While the terminal shows waiting for connections on port 27017, MongoDB has started successfully.
  1. Insert seeder
npm run seed
  1. Run the project
npm run dev
  • While the terminal returns Express is listening on localhost:3000, please visit http://localhost:3000 on your browser.

Dummy user data

After inserting the seeder, you may use the following dummy data to experience this web application.

Email Password
user1@example.com 12345678
user2@example.com 12345678

Prerequisites