{"id":17965953,"url":"https://github.com/markjso/ft_transcendence_final","last_synced_at":"2026-05-05T14:33:09.850Z","repository":{"id":259818169,"uuid":"875957184","full_name":"markjso/ft_transcendence_final","owner":"markjso","description":"ft_transcendence is the final project of the 42 Common Core program developed by our team. It is a single-page web application featuring an online real-time Pong game, tournaments with matchmaking, chat functionality, user account management, and player statistics and match history.","archived":false,"fork":false,"pushed_at":"2024-11-11T06:23:39.000Z","size":11410,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-16T13:53:36.702Z","etag":null,"topics":["django","ft-transcendence","postgresql","react","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markjso.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-21T06:54:40.000Z","updated_at":"2024-11-11T06:23:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"d54cb6f2-6eab-4a81-9b7a-88ea02a564a8","html_url":"https://github.com/markjso/ft_transcendence_final","commit_stats":{"total_commits":10,"total_committers":2,"mean_commits":5.0,"dds":0.09999999999999998,"last_synced_commit":"3a0ad02241c3c145b6e348114f3b519d51730e75"},"previous_names":["markjso/ft_transcendence_final"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/markjso/ft_transcendence_final","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markjso%2Fft_transcendence_final","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markjso%2Fft_transcendence_final/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markjso%2Fft_transcendence_final/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markjso%2Fft_transcendence_final/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markjso","download_url":"https://codeload.github.com/markjso/ft_transcendence_final/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markjso%2Fft_transcendence_final/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32653552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","ft-transcendence","postgresql","react","typescript"],"created_at":"2024-10-29T13:06:17.042Z","updated_at":"2026-05-05T14:33:09.844Z","avatar_url":"https://github.com/markjso.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ft_transcendence\n## Overview\nft_transcendence is the final project of the 42 Common Core program, developed by our team. It is a single-page web application featuring an online real-time Pong game, tournaments, chat functionality, user account management, and player statistics. The project utilizes Django for the backend, Postgresql for the database and the Bootstrap library with React for the frontend.\n\n## Project Team\n* Jo Marks (https://github.com/markjso)\n* Jaejun Shin (https://github.com/jaejunshin96)\n* Mehdi Mirzaie (https://github.com/MehdiMirzaie2)\n* Isaac Vanderwal (https://github.com/vanderhammer91)\n* Louis Xu (https://github.com/louissxu)\n\n## Features\n### 1. Pong Game\nPlayers can engage in a responsive, real-time Pong game. The game uses server-client communication for real-time interactivity.\n\n### 2. Tournament System\nA tournament mode where multiple users (2, 4, 8, or 16) can join and are then matched, adding a competitive aspect to the game. The tournament system announces which users are expected for the next game.\n\n### 3. Live Chat Feature\nA live chat system is integrated to allow players to communicate with each other via group chats and direct messages. Users have the ability to block other users, access player profiles and  invite other users to a game.\n\n### 4. User Management\nUser Creation \u0026 Authentication: Players can register for an account using 2FA or use their 42 log in. Authentication is handled securely through Django’s built-in user management. Each player has a dedicated profile page displaying information (including username and avatar), statistics, and match history. Users have the ability to change their personal details.\n\n### 5. Blockchain storage\nTournament scores are stored securely on a blockchain via Solidity Smart Contracts.\n\n## Technologies Used\n* ![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge\u0026logo=django\u0026logoColor=white)\n* ![Bootstrap](https://img.shields.io/badge/bootstrap-%238511FA.svg?style=for-the-badge\u0026logo=bootstrap\u0026logoColor=white)\n* ![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)\n* ![Nginx](https://img.shields.io/badge/nginx-%23009639.svg?style=for-the-badge\u0026logo=nginx\u0026logoColor=white)\n* ![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)\n* ![Redis](https://img.shields.io/badge/redis-%23DD0031.svg?style=for-the-badge\u0026logo=redis\u0026logoColor=white)\n* ![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n* ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n\n## Screenshots\nhttps://github.com/user-attachments/assets/148d5c34-7c5e-4264-8882-4cd360622a0e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkjso%2Fft_transcendence_final","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkjso%2Fft_transcendence_final","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkjso%2Fft_transcendence_final/lists"}