My Finance Tracker is a personal finance tracking application that allows users to manage their income and expenses conveniently. The application is built with a Kotlin Spring Boot backend and a TypeScript React frontend.
-
Income and Expenses Tracking:
- CRUD operations for managing income and expenses entries.
- Each entry includes a date, amount, category, and description.
-
Balance Calculation:
- Calculate the balance (income - expenses) for a given period.
-
Expense Summary:
- Provide a summary of expenses by categories for a given period.
-
User Interface:
- User-friendly interface with a form to add entries, a list view to display all entries, and a summary view showing balance and expenses by categories.
- Language/Framework: Kotlin with Spring Boot.
- Database: H2 (in-memory) or external databases like PostgreSQL/MySQL for data persistence.
- API Endpoints:
- CRUD operations for income and expenses entries.
- Balance calculation endpoint.
- Expense summary by category endpoint.
- Error Handling: Basic error handling and validation for API endpoints.
- Language/Framework: TypeScript with React.
- State Management: Redux for managing application state.
- UI Library: Material-UI or Bootstrap for styling (optional).
- Routing: React Router for client-side routing and navigation.
- User Interface Components:
- EntryForm for adding income and expenses.
- Dashboard for displaying entries and summary.
To get started with the project, follow these steps:
- Clone the Repository:
git clone https://github.com/pexpert28/finance-tracker.git cd finance-tracker
Save to grepper Backend Setup:
Navigate to the backend directory. Set up your Spring Boot application, configure the database, and run the server. it will run on 8080 port.(By default) Frontend Setup:
Navigate to the frontend directory. Install dependencies: npm install Start the React development server: npm start Access the Application:
Open your web browser and go to http://localhost:3000 to access the application.
Backend tests: Use testing frameworks like JUnit or TestNG to write and run tests for your backend services and controllers. Frontend tests: Utilize testing libraries like Jest and React Testing Library for unit and integration tests.