# FT_TRANSCENDENCE

## Purpose

This project is part of the 42 School Common Core curriculum. Its purpose is to learn how websites function by creating one to play the Pong game.

## Skills Acquired
- Django
- JavaScript
- Rest API
- Python
- HTML
- CSS

## ![Subject](/subject.pdf)

## Modules

| Module | Nb point | state|
| ------ | -------- | ---- |
| Multiplayer | 2 | 🏁 |
| Remote | 2 | 🏁 |
| Bootstrap | 1 | 🏁 |
| Django | 2 | 🏁 |
| Bdd | 1 | 🚧 |
| Accounts | 2 | 🏁 |
| WebGL | 2 | 🏁 |
| Other game | 2 | 🚧 |
| Chat | 2 | 🏁 |
| Translation | 1 | 🚧 |
| Other browser | 1 | 🏁 |
| Smartphone support | 1 | 🚧 |
| --- | --- |  ---
| Ready | 10 | 🏁 |
| Total | 19 | 🚧 | 

## Installation

### Automated

Just run the following : 

```bash
chmod +x ./run.sh
./run.sh
```

### Manual
- Clone the project:
``` bash
git clone https://git.chauvet.pro/michel/ft_transcendence
cd ft_transcendence
```
- Create python virtual environnement.
``` bash
python3 -m venv .env
```
- Source the environnement.
``` bash
source .env/bin/activate
```
- Install the requirements
``` bash
pip install -r requirements.txt
```
- Setup database
```
python manage.py makemigrations games
python manage.py makemigrations profiles
python manage.py makemigrations chat
python manage.py makemigrations tournament
python manage.py migrate
```
- Compile translations
```
python manage.py compilemessages
```
- Start the developpement server
```
python manage.py runserver 0.0.0.0:8000
```

coc nvim
```
pip install django-stubs
pip install django-type
```
