🚀 Finance Tracker - Where you follow your money
Finance Tracker is a modern, full-stack web application for personal finance tracking. Built with Go, Gin, HTMX, and PostgreSQL, it offers robust authentication (JWT & PASETO) and a reactive user experience. The project leverages sqlc for type-safe database access and Air for rapid development.
✨ Features
-
🔐 User Authentication
Secure login & registration via JWT and PASETO tokens.
-
💶 Finance Tracking
Track expenses, incomes, and categorize transactions.
-
📦 Modern UI
Interactive frontend powered by HTMX for seamless user experience.
-
🗄️ Type-safe Database Access
Uses sqlc to generate Go code from SQL queries.
-
💨 Rapid Development
Hot reloading with Air for efficient development workflow.
⚒️ Tech Stack
- Backend: Go, Gin
- Frontend: HTMX, HTML/CSS
- Database: PostgreSQL
- ORM/DB Access: sqlc
- Authentication: JWT, PASETO
- Dev Tools: Air (live reload)
⚙️ Getting Started
Prerequisites
🛠 Installation
-
Clone the repository
git clone https://github.com/yourusername/finance_tracker.git
cd finance_tracker
-
Setup the database
make postgres && make createdb && make migrationup
-
Run the application (with Air for hot reload)
make air
-
Run the application directly
make sqlc && make templ && make server
🎮 Usage
- Visit
http://localhost:8080 in your browser.
- Register a new account or log in.
- Start tracking your expenses and incomes.
📚 Acknowledgements
🤝 Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
📄 License
MIT License - See LICENSE
Happy tracking! 🚀
Developed with ❤️ by [Moth13] | 2025
Full documentation | Advanced examples