Skip to content

Latest commit

 

History

History
72 lines (57 loc) · 2.15 KB

README.md

File metadata and controls

72 lines (57 loc) · 2.15 KB

Personal Finance Manager (Backend Service)

This project is a backend service for a Personal Finance Manager, designed to provide a REST API for financial tracking and management. The backend is developed in three different programming languages: Python, Go, and Rust, showcasing diverse approaches and strengths in each tech stack.

Features

User Authentication

  • Endpoints for user registration and login.
  • Secure handling of passwords and tokens.

Income and Expense Tracking

  • Endpoints to add, update, delete, and retrieve transactions.
  • Categorization of expenses for better tracking.

Investment Tracking

  • Endpoints for adding and tracking various investments.

Reporting and Insights

  • Financial reports and insights generation.
  • Data aggregation and analysis logic.

Multi-Currency Support

  • Handling multiple currencies in transactions.
  • Real-time or periodic currency conversion.

Data Persistence

  • Utilizes SQLite/PostgreSQL for data storage.
  • Robust data models and database access logic.

API Documentation

  • Documented using Swagger or Postman for clear API endpoint descriptions.

User Stories

  • Secure account management.
  • Effective tracking of income and expenses.
  • Categorization of expenses for spending habit insights.
  • Access to financial reports for informed decision-making.
  • Management and tracking of investments.
  • Multi-currency transaction handling for global applicability.

Technical Considerations

  • Focus on robust, scalable, and secure API development.
  • Demonstrates unique strengths of Python, Go, and Rust.
  • Consideration for Docker containerization for each language implementation.

Project Structure

PFM/
│
├── GO/
│ ├── [Go specific files and directories]
│ └── main.go
│
├── PYTHON/
│ ├── [Python specific files and directories]
│ └── app.py
│
├── RUST/
│ ├── [Rust specific files and directories]
│ └── main.rs
│
└── db.sqlite

Getting Started

[Instructions on how to set up, configure and run the project]

Contributing

[Guidelines for contributing to the project]

License

[License information, if applicable]