This is dockerfile for a simple expense tracking web app.
80
Expense Tracker is a full-stack web application for managing personal expenses with multiple entry books, category-like expense logs, user authentication, and administrative controls. It is built with Next.js and uses MongoDB for persistence.
The app allows users to create accounts, maintain separate expense books, log spending entries with notes, and manage their data securely through authenticated API routes.
expense-tracker/
├── src/
│ ├── app/
│ │ ├── api/
│ │ ├── app/
│ │ ├── auth/
│ │ └── page.tsx
│ ├── Components/
│ ├── db/
│ ├── services/
│ ├── Store/
│ ├── Types/
│ ├── util/
│ └── proxy.ts
├── api.readme.md
├── docker-compose.yaml
├── Dockerfile
├── next.config.ts
├── package.json
├── tsconfig.json
├── README.md
└── public/
Before running the app, make sure you have the following installed:
Create a .env file in the project root with the following variables:
DATABASE_URL=mongodb://localhost:27017/expense-tracker
JWT_SECRET=your_jwt_secret
ADMIN_SECRET=your_admin_secret
If you are using Docker Compose, the app reads the .env file automatically via the compose configuration.
bun install
bun run dev
http://localhost:3000
bun run build
bun run start
You can also run the project with Docker:
docker compose up --build
The app is configured to expose port 3000.
The project includes a set of REST API endpoints for authentication, books, expenses, users, and admin operations.
For detailed request and response examples, see api.readme.md.
This project uses the App Router architecture in Next.js and keeps route-level business logic in the service layer. It follows a simple layered pattern:
Built by shivendra devadhe.
Content type
Image
Digest
sha256:7d61f2381…
Size
87.8 MB
Last updated
16 days ago
docker pull shivendrad54/expense-tracker