/ft_transcendence

This project is about creating a website for the mighty Pong contest!

Primary LanguageVue

42Lausanne
Project - ft_transcendence

This project is about creating a website for the mighty Pong contest

Table of Contents

How to use

Prerequisites

  • Docker and Docker Compose
  • A 42 API
  • A 42 OAuth application

Installation

# 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

Introduction

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.

Documentation

Ressources

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