CrashView aims to provide comprehensive crash analysis for Formula 1 races. It provides statistical data about crashes, drivers, teams, etc., and serves as a forum for users to discuss these incidents.
- Frontend: React.js
- Backend: .NET Core, Entity Framework
- Database: SQL Server
Before running the project, make sure you have the following installed:
-
.NET SDK: Version 8.0 or higher
- You can check your .NET version by running:
dotnet --version
- If you don't have the .NET SDK installed, you can download it from here.
- You can check your .NET version by running:
-
Node.js: Version 10 or higher
- You can check your Node.js version by running:
node -v
- If you don't have Node.js installed, you can download it from here.
- You can check your Node.js version by running:
Working on it...
To set up CrashView locally, follow these steps:
-
Clone the CrashView repository to your local machine:
git clone https://github.com/efesn/CrashView-Advanced.git
-
Navigate to the cloned directory:
cd CrashView-Advanced
-
Navigate to the Backend directory:
cd api -
Run this to install dependencies:
dotnet restore
-
Set up the database:
- Execute the
tables.sqlfile to create the necessary tables.
- Execute the
-
Create and update the connection string with your SQL Server details and JWT settings in
appsettings.json:"ConnectionStrings": { "DefaultConnection": "Server=YOUR_SERVER;Database=CrashViewAdvanced;Trusted_Connection=True;" }, "JwtSettings": { "Issuer": "localhost", "Audience": "localhost", "SecretKey": "Choose a secure key" }
-
Run the Backend server via terminal or run it from Visual Studio.
- Using Terminal (make sure you are in the
/apidirectory):
dotnet run --launch-profile "https" - Using Terminal (make sure you are in the
-
Navigate to the client directory:
cd client -
Install dependencies:
npm install
-
Run the Frontend server:
npm start
- Frontend will be running on: http://localhost:3000
- API will be running on: https://localhost:7237
- Admin dashboard: http://localhost:3000/admin/login
(You will need a user with the admin role to access it. See the "Example Insertions" section intables.sqlto create one.) - Swagger docs will be accessible on: https://localhost:7237/swagger/index.html