Skip to content

EngAnas24/StockTracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“¦ Stock Tracking / Inventory Backend

πŸ“Œ Overview

Stock Tracking is a backend system for managing inventory and stock operations efficiently. It is designed using Repository Pattern to ensure clean architecture, maintainability, and scalability.

The system provides full CRUD operations for managing items, categories, and stock movements, with secure authentication and authorization mechanisms.


βš™οΈ Features

πŸ—ƒοΈ Inventory Management

The system allows users to:

  • βž• Add new items to inventory
  • ✏️ Update existing items
  • πŸ—‘οΈ Delete items
  • πŸ“¦ Track stock movements (in/out operations)
  • πŸ” Query and search items efficiently

All operations are performed through a clean Repository Pattern to separate business logic from data access.


πŸ” Secure Authentication & Authorization

The project integrates ASP.NET Core Identity with:

  • JWT Tokens for secure authentication
  • Refresh Tokens for session management
  • Role-based authorization for controlling access
  • Password hashing and secure login

This ensures that only authorized users can access or modify inventory data.


πŸ› οΈ Technologies Used

Backend

  • ASP.NET Core Web API
  • C#
  • Repository Pattern
  • AutoMapper (for mapping DTOs to entities)
  • Entity Framework Core
  • Microsoft SQL Server

Security

  • ASP.NET Core Identity
  • JWT & Refresh Tokens
  • Role-based Authorization

πŸ—οΈ Architecture

The project follows N-Tier / Clean Architecture principles:

1️⃣ Presentation Layer

  • ASP.NET Core Web API endpoints
  • Handles HTTP requests and responses

2️⃣ Business Logic Layer

  • Contains all application logic
  • Validates operations and orchestrates workflows

3️⃣ Data Access Layer

  • Interacts with SQL Server database
  • Implements Repository Pattern for CRUD operations

4️⃣ Mapping Layer

  • Uses AutoMapper for converting between DTOs and Entities

πŸ”„ Operations Supported

  • Create / Read / Update / Delete (CRUD) on inventory items
  • Track stock in/out movements
  • User registration and authentication
  • Role-based access control for admin and regular users
  • Token-based authentication with JWT & Refresh Tokens

πŸ—ƒοΈ Database

The database stores:

  • Users and roles
  • Inventory items
  • Categories
  • Stock movements (in/out)
  • Authentication tokens

πŸš€ Key Benefits

  • πŸ”Ή Secure inventory management
  • πŸ”Ή Scalable and maintainable backend
  • πŸ”Ή Clean code via Repository Pattern
  • πŸ”Ή Easy integration with front-end or external systems
  • πŸ”Ή Advanced authentication and authorization

🎯 Future Improvements

  • Add reporting and analytics for stock trends
  • Implement notifications for low stock
  • Add batch operations for bulk stock updates
  • Integrate with front-end dashboard for real-time updates

πŸ‘¨β€πŸ’» Author

Anas Algahma πŸŽ“ Computer Engineer πŸ’» Back-End Developer (.NET Core / Web API)

About

πŸ“¦ Backend Inventory & Stock Tracking system built with ASP.NET Core Web API using Repository Pattern, AutoMapper, and JWT Authentication for secure CRUD operations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages