تفاصيل العمل

wimming Academy Management System - Web API

A professional ASP.NET Web API backend for managing a swimming academy with full database-first architecture. This system supports managing swimmers, schools, pre-teams, coaches, users, and detailed role-based actions. Built using stored procedures and SQL functions for maximum performance and integrity.

Table of Contents

Features

Architecture

Technologies

Database Schema

Stored Procedures

API Endpoints

Setup Instructions

Project Structure

Screenshots

License

Features

Secure role-based authorization: Admin, SuperAdmin, Swimmer, Parent, Coach.

Swimmer enrollment, level tracking, and attendance.

School and PreTeam session management.

Invoice generation and registration logic.

Full CRUD using stored procedures — no EF migrations.

Centralized logging of all actions.

? Action-based privileges via Users_Priv, AppCodes, and Actions.

Architecture

Architecture: Database-First

Business Logic: SQL Stored Procedures and Functions

No Services Layer: Direct Repository → Controller access

Data Access: ADO.NET with raw commands and data readers

Technologies Used

ASP.NET Core Web API (.NET 8)

Microsoft SQL Server

ADO.NET (no Entity Framework migrations)

Swagger / Swashbuckle

AutoMapper (optional)

Visual Studio 2022

Database Schema

Database: SwimminAcadmy

Key Tables:

Swimmers.Info

Swimmers.Parent, Swimmers.Technical, Swimmers.Log

Schools.Info, Schools.Details, Schools.Log

PreTeam.Info, PreTeam.Details, PreTeam.Log

AppCodes, Users, Users_Priv, Actions

InvTrans, Trans

Stored Procedures

Key Modules:

Swimmers:

Add_Swimmer

UpdateSwimmerLevel

SavePteam_Trans, SaveSchool_Trans

ViewPossible_Pteam, ViewPossible_School

PreTeam:

Create_PTeam, Updated, EndPreTeam

ShowPTeam, SearchActions, PTeamDetails_tab

Schools:

Create_School, Updated, EndSchool

ShowSchool, SchoolDetalis_Tab, SearchActions

All logic is encapsulated in stored procedures to maintain data integrity and traceability.

API Endpoints (Examples)

EndpointMethodDescription

/api/swimmers/addPOSTAdd a new swimmer

/api/swimmers/update-levelPUTUpdate swimmer level

/api/swimmers/{id}/technical-tabGETGet swimmer’s technical tab info

/api/schools/showPOSTShow school data (filter)

/api/preteam/searchPOSTSearch PreTeam info

For full list, open /swagger/index.html after running the project.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
13
تاريخ الإضافة
المهارات