RunGroopWebApp is an ASP.NET Core web application designed to help users manage and discover running clubs and races. It provides a platform for sports enthusiasts to connect with local running communities, view upcoming events, and track their participation. The application emphasizes a seamless user experience with robust authentication and authorization features.
- User Authentication & Authorization: Secure user registration, login, and logout functionalities powered by ASP.NET Core Identity. The application is configured to require authentication for most of its features, ensuring data privacy and controlled access.
- Club Management: Users can browse through various running clubs, view their details, and potentially join them.
- Race Discovery: Explore a list of upcoming running races, view detailed information about each event, including start times, entry fees, and locations.
- Detailed Views: Dedicated pages for in-depth information on individual clubs and races.
- Data Persistence: All application data (clubs, races, user accounts) is stored in a SQL Server database, managed efficiently with Entity Framework Core.
- Backend: ASP.NET Core 7.0 (or newer)
- Language: C#
- Database: SQL Server
- ORM: Entity Framework Core
- Authentication: ASP.NET Core Identity
- Architecture: Model-View-Controller (MVC)
- Frontend: Razor Pages for Identity UI, HTML, CSS (potentially Bootstrap or custom styles)
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
Before you begin, ensure you have the following installed:
- .NET SDK 7.0 (or newer)
- SQL Server (SQL Server Express is sufficient for local development)
- Visual Studio 2022 (recommended IDE)
-
Clone the Repository: Start by cloning the project from GitHub to your local machine:
git clone [https://github.com/avelic5/RunGroopWebApp.git](https://github.com/avelic5/RunGroopWebApp.git) cd RunGroopWebApp -
Configure Database Connection:
- Open the
RunGroopWebApp.slnsolution file in Visual Studio. - Navigate to
appsettings.json(orappsettings.Development.json) in the project's root directory. - Update the
DefaultConnectionstring within theConnectionStringssection to point to your SQL Server instance. Example:Adjust"ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=RunGroopDb;Trusted_Connection=True;MultipleActiveResultSets=true" }
ServerandDatabaseas per your SQL Server setup.
- Open the
-
Apply Database Migrations:
- Open the Package Manager Console in Visual Studio (Go to
Tools->NuGet Package Manager->Package Manager Console). - Execute the following commands, one after another, to create and update your database schema, including tables required by ASP.NET Core Identity:
Add-Migration InitialCreate // Or Add-Migration AddIdentityTables if specifically for Identity setup Update-Database
- Open the Package Manager Console in Visual Studio (Go to
-
Seed Initial Data (Optional): If you have implemented initial data seeding (e.g., for sample clubs or races), you can run it:
- You might have a command-line argument setup. In Visual Studio, go to
Debug->Run without debugging(Ctrl+F5) and in the "Command Line Arguments" field, typeseeddata. - Alternatively, you could temporarily modify
Program.csto callSeed.SeedData(app);directly for a single run, then revert the change.
- You might have a command-line argument setup. In Visual Studio, go to
-
Run the Application:
- Press F5 (Start Debugging) or Ctrl + F5 (Start Without Debugging) in Visual Studio.
- The application will launch in your default web browser. Due to the global authorization policy, you will be redirected to the login page first.