Skip to content

Repository files navigation

Expenza

Expenza is a secure and efficient personal finance tracking system built with Express.js and MongoDB. It offers expense tracking, budget management, financial reporting, and role-based authentication.

📌 Features

  • User authentication with JWT
  • Expense and budget tracking
  • Finantial goal setting and tracking
  • Notifiaction system for reminders and alerts
  • Financial reports and analytics
  • Role-based access control
  • Multi-currency support
  • Secure API with input validation and security measures
  • Unit and integration testing

🛠️ Setup Instructions

1️⃣ Clone the Repository

git clone https://github.com/yourusername/Expenza.git
cd Expenza

2️⃣ Install Dependencies

npm install

3️⃣ Setup Environment Variables

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
EMAIL_USER=your@email.com 
EMAIL_PASS=your email pass wxyz 
EXCHANGE_API_URL=https://v6.exchangerate-api.com/v6/yourapiurl/latest/USD

4️⃣ Run in Development Mode (with Nodemon)

npm run dev

📜 API Documentation
The full API documentation is available in the Postman collection:

Expenza.postman_collection.json
Import this file into Postman to explore the available API endpoints.

🔒 Security Testing
For manual security testing (SQL Injection, XSS, etc.), refer to the Postman collection:

Expenza-security-testing.postman_collection.json

🧪 Running Tests

1️⃣ Run Unit & Integration Tests

npm test

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages