https://github.com/codeflow-inc/expensescontrol
A simple and efficient REST API to manage personal expenses. The focus is on implementing small but well-optimized features, such as expense categorization and summary reports.
https://github.com/codeflow-inc/expensescontrol
backend csharp docker dotnet entity-framework
Last synced: about 2 months ago
JSON representation
A simple and efficient REST API to manage personal expenses. The focus is on implementing small but well-optimized features, such as expense categorization and summary reports.
- Host: GitHub
- URL: https://github.com/codeflow-inc/expensescontrol
- Owner: CodeFlow-Inc
- Created: 2025-01-18T12:17:10.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-04T01:26:07.000Z (over 1 year ago)
- Last Synced: 2025-03-22T02:13:29.687Z (over 1 year ago)
- Topics: backend, csharp, docker, dotnet, entity-framework
- Language: C#
- Homepage:
- Size: 243 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### **Project: Expense Control API**
#### **Description**
A simple and efficient REST API to manage personal expenses. The focus is on implementing small but well-optimized features, such as expense categorization, summary reports, and basic authentication. It aims to highlight best practices, including the use of design patterns, testing, and query optimization.
---
### **Features**
1. **Expense Management**
- CRUD operations for expenses:
- Fields: description, amount, date, category (e.g., food, transportation, etc.).
- Input validations (e.g., amount must be greater than zero).
2. **Simple Reports**
- Total expenses for specific periods (monthly, weekly...).
- Total expenses by category.
3. **Export**
- Endpoint to export expenses in CSV format.
---
### **Endpoint Structure**
- **Expenses**
- `GET /api/expenses` - Retrieve the user's expenses.
- `POST /api/expenses` - Add a new expense.
- `PUT /api/expenses/{id}` - Update an expense.
- `DELETE /api/expenses/{id}` - Delete an expense.
- **Reports**
- `GET /api/reports/summary` - Summary of expenses by period.
- `GET /api/reports/by-category` - Total expenses by category.
- **Export**
- `GET /api/expenses/export` - Export expenses in CSV format.