Monexa
@emilijan-koteski
Expense Tracking App
Overview
What is Monexa?
Monexa is a personal finance and expense tracking application that supports multiple currencies. It uses a Go backend and a React frontend.
How to use Monexa?
You can run Monexa in two ways. For local development, start PostgreSQL with docker compose up -d, then run the backend with go run ./cmd/api/main.go and the frontend with npm run dev inside the frontend/ directory. For a fully containerized setup, use docker compose -f docker-compose.test.yml up --build, which starts everything (PostgreSQL, API, and Nginx‑served frontend) in Docker.
Key features of Monexa
- Multi-currency support for expense tracking
- Go backend with React frontend
- Docker Compose deployment for all components
- Development mode with hot reload
- PostgreSQL database (started via Docker)
- Pre‑configured environment files with dummy values
Use cases of Monexa
- Track personal expenses in multiple currencies
- Run a local development environment with hot reload
- Deploy the full application stack using Docker
- Manage personal finances with a modern web interface
FAQ from Monexa
What are the runtime requirements?
Go 1.23+, Node.js 18+, and Docker with Docker Compose are required.
Which database does Monexa use?
Monexa uses PostgreSQL, started via Docker Compose on port 5433.
How can I run Monexa without installing Go or Node?
Use the fully Dockerized setup with docker compose -f docker-compose.test.yml up --build. Everything runs in containers.
What ports does the application use?
In development: PostgreSQL on 5433, API on 9000, frontend on 5173. In the Dockerized setup: frontend on port 80, API on 9000, database on 5433.
Are there pre‑configured environment files?
Yes, the repository includes working .env files in the root and frontend/ folders with dummy values—no manual creation needed.