https://github.com/p4nd4p0w3r/f1-pitlanepredict
The topic of this project is a website that allows users to keep track of results during the 2023 F1 Championship. It isn't a complete website, but it is a good start for a project that could be continued in the future.
https://github.com/p4nd4p0w3r/f1-pitlanepredict
2023 budapest championship constructors drivers efrei essca f1 f1-2023 formula1 l3 s5 semester-abroad teams
Last synced: 15 days ago
JSON representation
The topic of this project is a website that allows users to keep track of results during the 2023 F1 Championship. It isn't a complete website, but it is a good start for a project that could be continued in the future.
- Host: GitHub
- URL: https://github.com/p4nd4p0w3r/f1-pitlanepredict
- Owner: P4ND4P0W3R
- License: mit
- Created: 2023-10-10T12:11:21.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-09-18T12:57:46.000Z (16 days ago)
- Last Synced: 2025-09-18T14:54:51.180Z (16 days ago)
- Topics: 2023, budapest, championship, constructors, drivers, efrei, essca, f1, f1-2023, formula1, l3, s5, semester-abroad, teams
- Language: Vue
- Homepage:
- Size: 25.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# F1 Pit Lane Predict
## *S5M - Advanced Web Programming - Project*
The topic of this project is a website that allows users to keep track of results during the 2023 F1 Championship. It isn't a complete website, but it is a good start for a project that could be continued in the future.
## đ Table of Contents
- [F1 Pit Lane Predict](#f1-pit-lane-predict)
- [*S5M - Advanced Web Programming - Project*](#s5m---advanced-web-programming---project)
- [đ Table of Contents](#-table-of-contents)
- [About the project](#about-the-project)
- [âšī¸ Project Description](#âšī¸-project-description)
- [đĨ Team Members](#-team-members)
- [Getting Started](#getting-started)
- [âī¸ Prerequisites](#ī¸-prerequisites)
- [đĻ Run the Project](#-run-the-project)
- [đī¸ File Structure](#ī¸-file-structure)
- [đ Additional Notes](#-additional-notes)## About the project
We (Paul and Antoine) have been fans of Formula 1 for years and we just started to introduce Alexandre to this wonderful sport and universe. As big fans of Formula 1 since multiple years, we decided to create a project dedicated to this sport.
> [!NOTE]
>
> - This project falls into the scope of the **Advanced Web Programming Course** during our fifth semester, the study abroad semester while at ESSCA in Budapest, Hungary. More precisely during our third year curriculum at [EFREI](https://www.efrei.fr/), which is a French CS engineering school.
> - This project has been realized in parallel with the UML Project. To access this project, please see the directory [UML](docs/UML/) and read the [README.md](docs/UML/README.md) file for more information.### âšī¸ Project Description
The focus of our project is to develop a dedicated online platform for Formula 1 fans, providing them with an opportunity to engage with the sport through an informational website. This platform aims to cater to the interests of Formula 1 fans by creating a space where they can explore the sport in a unique manner.
The project leverages a modern web development stack:
- Backend: It utilizes [Node.js](https://nodejs.org/en) with [Nitro.unjs](https://nitro.unjs.io/) acting as a powerful Next Generation Server Toolkit and [TypeScript](https://www.typescriptlang.org/) for type safety. [Prisma ORM](https://www.prisma.io/) simplifies database interactions with [PostgreSQL](https://www.postgresql.org/).
- Frontend: It's built with [Vue.js](https://vuejs.org/) for a reactive and component-based user interface, enhanced with CSS for styling.### đĨ Team Members
- [P4ND4P0W3R](https://github.com/P4ND4P0W3R) - Paul HU
- [AntoineD01](https://github.com/AntoineD01) - Antoine DUPONT
- [AlexForex](https://github.com/AlexForex) - Alexandre GUILLOIS## Getting Started
### âī¸ Prerequisites
- [Node.js 20 (LTS) or higher](https://nodejs.org/en)
- [npm](https://www.npmjs.com/)
- [Prisma](https://www.prisma.io/)### đĻ Run the Project
1. **Clone the repository:**
```bash
git clone https://github.com/P4ND4P0W3R/f1-pit-lane-predict.git
```2. **Navigate to the project directory:**
```bash
cd f1-pit-lane-predict
```3. **Install dependencies:**
```bash
npm install
```4. **Start Client-side:**
```sh
npm run dev
```5. **Start Server-side (in a new terminal):**
```sh
cd server
npm run dev
```Now you should be able to access the frontend application in your browser at `http://localhost:5173`.
## đī¸ File Structure
- **server:** Contains the backend code.
- **api:** Contains the API logic.
- **drivers:** Contains the logic for drivers.
- **races:** Contains the logic for races.
- **results:** Contains the logic for results.
- **teams:** Contains the logic for teams.
- **user:** Contains the logic for users.
- **src:** The main source code for the Vue frontend application.
- **assets:** Contains the assets of the application (images, fonts, etc.).
- **components:** Contains the components of the application.
- **router:** Contains the router logic.
- **views:** Contains the views of the application.
- **public:** Holds static files.
- **package.json:** Defines frontend and backend dependencies and scripts.## đ Additional Notes
- **IDE Setup:** [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
- **Type Support:** TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
- **Future Enhancements:**
- **Robust Betting System:** Implement a secure and engaging betting system, allowing users to place bets on race outcomes, driver performance, and other events. This could involve virtual currency, leaderboards, and reward systems.
- **Live Race Tracking:** Integrate live race data to provide real-time updates on driver positions, lap times, and race incidents. Visualizations like live maps and timing charts would enhance the user experience.
- **Personalized Predictions:** Develop a machine learning model to offer personalized race predictions based on historical data, driver performance, and user preferences.
- **Social Features:** Enhance user engagement by integrating social features like chat rooms, forums, and the ability to share predictions and results with friends.
- **Expanded Content:** Provide more in-depth content beyond race results, such as driver profiles, team histories, technical analysis, and news articles.- **License:** This project is licensed under the MIT License.