A modern expense tracking application built with Vite, TailwindCSS, and vanilla JavaScript.
- 💸 Track expenses and income
- 📊 Monthly and yearly breakdowns
- 🏷️ Category-based filtering
- 🌐 Multi-language support (Spanish/English)
- 💱 Multi-currency support (EUR/USD/GBP)
- 🌙 Dark/Light theme
- 📱 Responsive design
- 📈 Balance tracking over time
- Node.js 18+
- pnpm (recommended) or npm
-
Clone the repository
-
Install dependencies:
pnpm install
-
Copy environment variables:
cp .env.example .env
-
Update
.envfile with your API configuration:VITE_APP_LANG=es VITE_API_BASE_URL=http://localhost:8000 VITE_API_TOKEN=your-secure-api-token-here -
Start development server:
pnpm dev
The app will be available at http://localhost:3000
To build for production:
pnpm buildBuild the Docker image:
docker build -t spendtap .Run the container with default settings:
docker run -p 80:80 spendtapThe app will be available at http://localhost
To run with custom API configuration, you can build the image with build args:
# Build with custom environment
docker build -t spendtap .
# Run the container
docker run --rm -it \
-e VITE_APP_LANG=es \
-e VITE_API_BASE_URL="http://localhost:8000" \
-e VITE_API_TOKEN="12345" \
-p 8022:80 \
spendtapCreate a docker-compose.yml file:
version: '3.8'
services:
spendtap:
build: .
ports:
- "80:80"
environment:
- VITE_API_BASE_URL=http://localhost:8000
- VITE_API_TOKEN=your-secure-api-token-here
- VITE_APP_LANG=esRun with:
docker-compose up -dThe application requires a backend API. Configure the following environment variables:
VITE_API_BASE_URL: Your API base URL (default:http://localhost:8000)VITE_API_TOKEN: Authentication token for API requestsVITE_APP_LANG: Default language (esoren, default:es)
spendtap/
├── assets/
│ ├── components/ # JavaScript components
│ ├── lang/ # Translation files
│ └── ...
├── pages/ # HTML page templates
├── components/ # Reusable HTML components
├── dist/ # Build output
└── ...
- Fork the repository
- Create a feature branch
- Make your changes
- Test your changes
- Submit a pull request
ISC License