- Docker and Docker Compose
- A 42 API
- A 42 OAuth application
# Clone the repository
git clone https://github.com/4-04-squad/ft_transcendence.git
cd ft_transcendence/project
# Run the setup script
make setup
# Build the docker images
make build
# Open the website
open http://localhost # You should see the website
open http://localhost/api # You should see the backend API
This project is about creating a website for the mighty Pong contest. The website will be used by the players to register for the contest, and by the admins to manage the contest. The website will be a single page application, using the Vue.js framework. A chat will be available for the players to communicate with each other. The chat will be implemented using websockets.
- Project subject
- Back-end documentation
- Front-end documentation
- Database documentation
- Deployment documentation
What is used in this project:
Category | Description | lien |
---|---|---|
Front-end | Part of the website that the user can see and interact with | - |
-> | Framework | Vue.js |
-> | CLI | Vue.js CLI |
-> | Websocket | Socket.io |
-> | State management | Pinia |
-> | Routing | Vue Router |
-> | Build tool | Vite |
-> | HTTP client | Axios |
-> | Styling | SCSS, Tailwind CSS |
-> | Game | HTML5 Canvas |
Back-end | Manage the data and the logic of the website | - |
-> | Framework | NestJS |
-> | ORM | Prisma |
Database | Store the data | - |
-> | Database | PostgresSQL |
Security | User login managment | - |
-> | API | 42 API |
-> | Authentification | Two-factor authentication |
Deployment | Deploy the website on a server | - |
-> | Containerization | Docker, |
-> | Orchestration | Docker Compose |
Convention | Organizing the code | - |
-> | Language | TypeScript |
-> | Linter | ESLint |
-> | Code formatter | Prettier |