F1DataDashboard is a web application designed for Formula 1 enthusiasts to explore, analyze, and visualize detailed information about the current racing season. The platform provides race-by-race data on driver performances, race statistics, championship standings, and much more. The goal is to deliver a clear and comprehensive overview of every aspect of the races and performances.
- Homepage: Displays general standings for drivers and constructors, accompanied by charts showing their performance trends over time.
- Race-by-Race Statistics: Allows users to select a specific race to view detailed statistics, such as lap times, final positions, pit stop strategies, and other relevant data for an in-depth analysis of each event.
- Team Section: Each team has its own dedicated page, including driver cards, team and car information, historical details, and a palmarès of the team's best achievements.
- Calendar: Shows all the race dates for the current season, including practice and qualifying sessions, with detailed information about times, locations, and circuit specifications.
- F1 History: Dedicated to the history of Formula 1, with rankings and charts on the most successful drivers and teams of all time, as well as useful statistics covering various historical aspects of the championship.
- Non-relational Database: MongoDB
- Back-end: Flask (Python)
- Interface with MongoDB: PyMongo
- Front-end: React.js, HTML, CSS, JavaScript
Follow these steps to set up the project locally.
- Clone the repository:
git clone <repository_url> cd F1DataDashboard/backend
- Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the required Python packages:
pip install -r requirements.txt
- Start the Flask application:
python app.py
- Navigate to the frontend directory:
cd F1DataDashboard/frontend - Install the required NPM packages:
npm install
- Start the React application:
npm start
Access the application via a web browser at http://localhost:3000 (default port for React development server) or http://localhost:5000 if accessing backend directly.