Skip to content

PallaviRawal/ExpenseTrackerAPI

Repository files navigation

ExpenseTrackerAPI

A secure and scalable RESTful API built using ASP.NET Core that allows users to manage personal income and expenses efficiently. The application includes authentication, category and expense management, dashboard analytics, pagination, and soft delete functionality.


Features

  • JWT-based User Authentication (Register & Login)
  • User-specific Data Isolation
  • Category Management (Create, Update, Soft Delete)
  • Expense & Income Management
  • Dashboard Summary (Total Income, Total Expense, Balance)
  • Pagination for Efficient Data Loading
  • Global Soft Delete Implementation
  • Unit Testing using xUnit

Tech Stack

  • ASP.NET Core Web API
  • Entity Framework Core
  • SQL Server
  • JWT Authentication
  • LINQ
  • xUnit (Unit Testing)
  • RESTful API Architecture

Project Structure

ExpenseTrackerAPI │ ├── Controllers → API Endpoints ├── Models → Entity Models ├── DTOs → Data Transfer Objects ├── Data → DbContext & Database Configuration ├── Services → Business Logic ├── Tests → Unit Tests ├── appsettings.json → Application Configuration └── README.md


API Capabilities

  1. Secure login and registration using JWT
  2. Add, update, delete categories
  3. Add and manage expenses
  4. View paginated expense lists
  5. View dashboard summary with calculated balance
  6. Soft delete ensures data is not permanently removed

Learning Outcomes

  1. Implemented authentication and authorization
  2. Designed RESTful endpoints
  3. Applied pagination for performance optimization
  4. Implemented soft delete for data integrity
  5. Structured clean project architecture
  6. Practiced writing unit tests for API validation

Author

Pallavi Rawal Computer Science Student

About

ExpenseTracker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages