Skip to content

Repository files navigation

πŸŽ‰ Ekspensify - Your Personal Finance Buddy!

Node.js NestJS Prisma PostgreSQL Redis OneSignal AWS

Google Play Google Play GitHub repo size

πŸš€ Overview

Welcome to Ekspensify Backend, the powerful engine behind your personal finance tracking app! Built with Node.js, NestJS, and PostgreSQL, this backend ensures secure, efficient, and scalable financial management. From handling user authentication to managing transactions, it’s designed to keep your data safe and accessible. πŸ’‘πŸ”

✨ Why I Built This

I wanted a robust, scalable, and well-structured backend to support a seamless finance tracking experience. No more slow or unreliable systemsβ€”just a fast, secure, and efficient API that powers real-time analytics, budgeting tools, and smooth data handling. This backend is built to make finance tracking reliable, secure, and hassle-free! πŸš€

🌟 Features

  • πŸ“Œ Track Income & Expenses: Effortlessly record and keep track of your income and expenses in real time.
  • 🏷 Categories for Income & Expenses: Includes all standard categories and allows custom categories.
  • πŸ“© Automatic Tracking via SMS: Detects transactions from SMS alerts and tracks them in pending transactions for review.
  • πŸ’° Budget Management: Create budgets to limit spending and stay on track.
  • πŸ”” Budget Alerts: Get notified when you're approaching or exceeding your budget.
  • 🎨 Modern UI: Designed for a sleek and intuitive user experience
  • πŸ“Š Dashboard & Analytics: Break down expenses and income by category with visual insights.
  • 🏦 Multiple Account Tracking: Manage and track finances separately for different bank accounts.
  • ☁ Cloud Storage: Your transaction records are securely stored on the server, keeping them safe and accessible.
  • πŸ“„ PDF & CSV Export: Easily export transaction data for reporting and record-keeping.

πŸŽ‰ Download the App

You can get the latest version of the app from the Google Play Store:

Get it on Google Play

πŸ›  Tech Stack

  • TypeScript – Used as the primary programming language for the backend.
  • NestJS – A progressive Node.js framework for building scalable server-side applications.
  • PostgreSQL – Relational database for efficient and reliable data storage.
  • Prisma – ORM for database management and queries with TypeScript support.
  • Redis – In-memory data store for caching and real-time data processing.
  • Docker – Containerization for consistent and scalable deployments.
  • AWS (EC2 / S3) – EC2 for hosting the backend, and S3 for file storage and management.
  • Onesignal – Onesignal for sending real time notifications to app client.

πŸ“Έ Screenshots

preview


preview

πŸ”§ Installation & Setup

This is a complete backend that interacts with a database. While you can't fully utilize all features without a connected database and environment setup, you can still run it locally for testing and development.

Run Project Without Docker:

  • Clone the repository:

    git clone https://github.com/gokulsuthar22/ekspensify-backend.git .
  • Create .env file

    touch .env
  • Copy content of .sample.env to .env:

    cp .env.sample .env
  • Replace placeholder values (your_db_user, your_jwt_secret, etc.) with your actual credentials, eg.

    ...
    DATABASE_USER=postgres
    DATABASE_PASSWORD=mydbpass
    ...
  • Install dependencies

    npm install
  • Start the server

    npm run start:dev

Run Project Using Docker:

  • Clone the repository:

    git clone https://github.com/gokulsuthar22/ekspensify-backend.git .
  • Create .env.dev file

    touch .env.dev
  • Copy content of .sample.env to .env.dev:

    cp .env.sample .env.dev
  • Replace placeholder values (your_db_user, your_jwt_secret, etc.) with your actual credentials, eg.

    ...
    DATABASE_USER=postgres
    DATABASE_PASSWORD=mydbpass
    ...
  • Start the server using docker compose

    docker-compose -f docker-compose.dev.yml --env-file .env.dev up --build

🀝 Contributing

Enjoying this project? Help make it even better! πŸš€ Report issues, contribute code, or share your ideasβ€”let’s create something awesome together. πŸ’‘πŸ’»

πŸ“¬ Let's Connect!

Got feedback or ideas? Reach out to me! I’d love to hear from you. πŸŽ‰

About

Welcome to Ekspensify, your personal finance tracking app made with Kotlin and Jetpack Compose! This project is all about making financial management simple, fun, and stress-free. Whether you’re budgeting like a pro or just starting, Ekspensify helps you stay on top of your money! πŸ’°βœ¨

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages