Welcome to the Personal Finance Tracker project! This application helps users manage and track their personal finances with an intuitive interface and robust backend services. Below is an overview of the project's architecture and components.
- Framework: Next.js
- Language: JavaScript/TypeScript
- Styling: Tailwind CSS
- Responsive design for a seamless user experience across devices.
- Intuitive interface for entering, updating, and viewing financial data.
- Integration with backend APIs for real-time data updates.
The frontend code is located in the frontend/finance-tracker
directory.
- Optimized for performance and SEO using Next.js features such as static site generation (SSG) and server-side rendering (SSR).
- Communicates with the Rust backend via RESTful APIs.
- RESTful API endpoints for CRUD operations on financial data.
- Uses SQLx for type-safe database interactions.
- Modular architecture with
controllers
for endpoints andservices
for business logic. - Integration with Flyway for database migrations.
The application is containerized to simplify deployment and ensure consistency across environments.
- Frontend: Dockerized to serve the Next.js application via a Node.js runtime.
- Backend: Dockerized to run the Rust Actix-web server.
- Database: PostgreSQL containerized for local development and production use.
- Build Containers:
docker-compose build
docker-compose up -d