Skip to content

ankur-dwivedi/expense-tracker

Repository files navigation

Expense Tracker - Full Stack App

This is a full-stack Expense Tracker application built with React, Node.js, Express, and MongoDB, containerized using Docker Compose.


📁 Project Structure

├── backend/ # Express backend server
├── frontend/ # React frontend app
└── README.md

🚀 Quick Start

1️⃣ Backend Setup

  1. Navigate to the backend folder:
cd backend
  1. Create a .env.backend file in the root directory with the following content:
ACCESS_TOKEN_SECRET=access$$$$@@@@------token$$$$@@@@------secret
MONGO_URL=mongodb://mongodb:27017/expensetracker?authSource=admin

2️⃣ Frontend Setup

  1. Navigate to the frontend folder:
cd frontend
  1. Create a .env.frontend file in the root directory with the following content:
REACT_APP_API_URL=http://localhost:4000/api
  1. Start the development server using Docker Compose:
docker compose -f docker-compose.dev.yaml up

This command spins up:

  • The Express server

  • A MongoDB container

🔗 The backend will be available at: http://localhost:4000

📡 API Endpoints:

🔗 The frontend will be available at: http://localhost:3000

🧰 Tech Stack

Frontend

  • React (TypeScript)
  • Redux Toolkit
  • Material UI
  • Axios

Backend

  • Node.js + Express
  • MongoDB (via Docker)
  • JWT for Authentication
  • Joi for validation

DevOps

  • Docker
  • Docker Compose

💬 Notes

  • Make sure Docker is installed and running on your machine.
  • The backend and MongoDB are containerized.
  • The frontend uses the backend at http://localhost:4000.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages