No description https://friends42.fr
Find a file
2025-12-06 15:22:56 +01:00
db remove notes from the code 2025-12-06 15:22:56 +01:00
maps update: fixed F1B counting in F1... 2025-06-03 15:25:17 +02:00
routes remove notes from the code 2025-12-06 15:22:56 +01:00
static remove notes from the code 2025-12-06 15:22:56 +01:00
templates remove notes from the code 2025-12-06 15:22:56 +01:00
upgrades update: ran prettier, removed stuff and added tutor location 2025-01-11 17:40:33 +01:00
.env.template update: added force update button to admin page 2025-01-31 19:45:20 +01:00
.gitignore added run_redis.sh file 2025-01-29 15:22:50 +01:00
api42.py update: moved db to sperate files 2025-08-07 18:22:22 +02:00
app.py update: allow the upload of custom images to the profile 2025-09-01 21:52:04 +02:00
config.py update: yes 2025-09-01 22:25:29 +02:00
config.sample.py update: ran prettier, removed stuff and added tutor location 2025-01-11 17:40:33 +01:00
data_exporter.py update: ran prettier, removed stuff and added tutor location 2025-01-11 17:40:33 +01:00
flake.lock update: moved db to sperate files 2025-08-07 18:22:22 +02:00
flake.nix update: yes 2025-09-01 22:25:29 +02:00
gen_schema.sh wip(database): updated schema with note modifications 2025-08-08 20:48:53 +02:00
globals.py update: ran prettier, removed stuff and added tutor location 2025-01-11 17:40:33 +01:00
LICENCE.txt friends42: LICENCE.txt & Remove debug tools 2023-07-27 14:54:15 +02:00
qodana.yaml friends42: Cleanup, fix potential security issue, update paris piscine 2023-08-06 23:43:50 +02:00
README.md Add archived status and self-hosting instructions 2025-11-06 17:06:31 +01:00
requirements.txt update: allow the upload of custom images to the profile 2025-09-01 21:52:04 +02:00
ruff.toml update: some input cleaning (lower+trim in most case) 2025-01-13 23:27:51 +01:00
run_redis.sh update: added force update button to admin page 2025-01-31 19:45:20 +01:00
schema.dbml remove notes from the code 2025-12-06 15:22:56 +01:00
schema.sql remove notes from the code 2025-12-06 15:22:56 +01:00
scrap_issues.py update: issue_scapper updated to take only known cluster 2025-06-03 15:20:03 +02:00
updater.py update: removed some cruft 2025-01-15 20:28:56 +01:00

Archived

This project is archived since I am not allowed to host it anymore.

Feel free to fork and selfhost this project if you want to.

Do note that some features should be removed otherwise you are risking some bad stuff...

Friends42

Developer quick-start

You'll need the followings:

  • Python 3
  • Redis
  • 42 API key
  • Telegram key [optional]
git clone git@github.com:Maix0/fft.git && cd fft
pip install -r requirements.txt
vim config.py
python3 app.py

Then head to http://localhost:8080/ (You will need to add this URL to the authorized list of redirect URI on 42)

How to add a feature

  • Create your feature
    • You'll need to use basic features (no flask.g, middleware, etc) and adapt to the existing code style if possible.
    • If you are doing SQL, you must place it in the db.py file, it is forbidden to concat/str template anything to a SQL request
  • Create a push request with in it a list of features added, config changed and sql changes.
  • Post it ! :)
  • Note: I keep the right to accept or reject features, you can contact me through Discord if you'd like to be sure before doing the work

How to add a campus

  • Copy maps/_template.py to maps/campus_name.py
  • Create a map of your own campus (Feel free to look at paris.py)
  • Add your campus to maps/maps.py as an import and to the list (the number is the campus-id) (located end of file)
  • Add your campus to the update list in config.sample.py
  • Create a push request with your changes and I'll come back to you quickly ! :)