Expense Tracker SQL is a web-based application that helps users efficiently track and manage their expenses. Built using Node.js Express.js MySQL and Sequelize it allows users to log their expenses categorize them and analyze their spending habits.
https://expense-tracker-jvy0.onrender.com/
Here're some of the project's best features:
- User Authentication: Secure login and registration system.
- Expense Management: Add edit and delete expenses.
- Categories: Categorize expenses by date or category.
- Insights & Reports: View spending trends and summaries by month or date.
- Subscription Payments: Integrated Razorpay for managing subscription payments.
- Password Reset: Uses Bravo for sending password reset emails.
1. Prerequisites
Ensure you have the following installed:
Node.js (v16 or later)
MySQL (latest version)
2. Clone the Repository
git clone https://github.com/5codeman/Expense_Tracker_SQL.git
cd Expense_Tracker_SQL
3. Install Dependencies
npm install
4. Set Up Database
Create a MySQL database.
5. Setup .env file
NOTE: This project is integrated with Razorpay, Brevo and JWT authentication. Before creating the .env file you will need credentials for these services. Generate your own secret key and obtain the necessary Razorpay and Brevo credentials. Refer to the .env format provided below.
# Server Configuration
PORT=your_port_number
# Database Configuration
DB_HOST=your_database_host
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_SCHEMA=your_database_schema
# API Keys
BREVO_API_KEY=your_brevo_api_key
# Payment Gateway (Razorpay)
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_KEY_SECRET=your_razorpay_key_secret
# Security
SECRET_KEY=your_secret_key
6. Start the Application
npm start
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js, Express.js
- Database: MySQL with Sequelize ORM
- Payment Gateway: Razorpay
- Email Service: Brevo
For any queries or feedback, feel free to reach out via GitHub Issues.