A web application where you can manage and organize sports clubs, matches, stadiums and fans.
We built this project as part of our Relational Databases course, to apply the principles we learned to a web app that could be used in real life.
We studied database concepts like:
- EERDs: Extended Entity-Relationship Diagrams
- Relational Schemas
- Functional Dependencies
- Normalization
- Authorization
We also learned some software patterns like:
- MVC Architecture
- Dependency Injection in ASP.NET Core MVC
- Entity Framework object-relational mapper
- LINQ
- Authentication and form-validation
Check out a demo video. Our web app has an account authentication system, where each account is provided CRUD functionalities to manage their resources. Role-based authorization ensures each user has access to their role's resources only. There are 5 types of user accounts:
- System Admin: Manages all clubs, stadiums and fans in the system
- Assoication Manager: Organizes matches between clubs
- Club Representative: Sends requests on behalf of their club to host home matches
- Stadium Manager: Handles host requests sent to their stadium
- Fan: Views and buys tickets for matches
We built the project using ASP.NET Core MVC and Identity Authorization, we used the .NET 7.0 platform. We used Razor pages for our views, stylizied with Bootstrap. We also used SQL and LINQ for our database logic.
To run the project using Visual Studio, you need to have .NET 7.0 and MS SQL Server:
- Download the project and open the SportsWebApp.sln
- Create an appsettings.json file
- Configure your appsettings.json file with your own settings, this template might be helpful:
{
"ConnectionStrings": {
"DefaultConnection": ""
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}- Connect MS SQL Server to your project
- Create a database instance and copy its Connection String from its properties
- Paste the Connection String into your appsettings.json file in
"DefaultConnection": "" - Open Package Manager Console (PMC) in Visual Studio
- Enter the command
add-migration InitialCreatethenupdate-database - Run the project
This project was built by me and my friend Abd002
