A modern library management system backend built with ASP.NET Core using Minimal APIs.
The MidnightLibrary-Back is a comprehensive backend solution providing APIs for library management, including:
- User account management and authentication
- Book catalog management
- Category organization
- Admin dashboard and analytics
- User borrowing system
- ASP.NET Core (.NET 8.0/9.0)
- Entity Framework Core
- SQL Server
- JWT Authentication
- Minimal APIs architecture
MidnightLibrary-Back/
├── TeamLibrary.API/ # Main API project
│ ├── Data/ # Data layer
│ │ ├── Configure/ # Entity configurations
│ │ ├── Context/ # EF Core DbContext
│ │ ├── Models/ # Domain entities
│ │ └── Repository/ # Data access layer
│ ├── Features/ # Feature-based endpoints
│ │ ├── Account/ # User authentication
│ │ ├── Admin/ # Admin features
│ │ ├── Book/ # Book management
│ │ └── Category/ # Category management
│ ├── Shared/ # Shared components
│ │ ├── Contracts/ # Interfaces
│ │ ├── Middleware/ # Custom middleware
│ │ ├── Models/ # Shared models
│ │ └── Service/ # Common services
│ └── wwwroot/ # Static files
└── TeamLibrary.sln # Solution file
-
Development Tools:
- Visual Studio 2022/2023 or VS Code
- .NET SDK 8.0 or later
- SQL Server (LocalDB or higher)
-
Required NuGet Packages:
- Microsoft.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.AspNetCore.Authentication.JwtBearer
- Clone the repository:
git clone https://github.com/CsharpGalexy/MidnightLibrary-Back.git
cd MidnightLibrary-Back-
Configure the database:
- Open
TeamLibrary.API/appsettings.json - Update the connection string for your SQL Server instance
- Open
-
Apply database migrations:
cd TeamLibrary.API
dotnet ef database update- Build and run:
dotnet build
dotnet run --project TeamLibrary.API- User registration and login
- Password reset functionality
- User profile management
- JWT token authentication
- Create, read, update, and delete books
- Search and filter books
- Get new arrivals and top-rated books
- Category-based book browsing
- Dashboard with analytics
- User management
- Book inventory control
- Category management
- System statistics
- Hierarchical category management
- Category-based navigation
- Category statistics
-
Architecture
- Follow minimal API patterns
- Use repository pattern for data access
- Implement proper separation of concerns
-
Code Style
- Follow C# coding conventions
- Use async/await for asynchronous operations
- Implement proper error handling
-
Database
- Use migrations for schema changes
- Follow EF Core best practices
- Maintain data consistency
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
See the LICENSE file for details.
For support, please open an issue in the repository's issue tracker.