{"id":21589589,"url":"https://github.com/theoguerin64/ft_transcendence","last_synced_at":"2026-04-12T12:36:55.079Z","repository":{"id":191610168,"uuid":"665225555","full_name":"TheoGuerin64/ft_transcendence","owner":"TheoGuerin64","description":"Project 42 for Mastering fullstack development","archived":false,"fork":false,"pushed_at":"2024-04-15T18:38:21.000Z","size":35231,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-27T03:45:20.582Z","etag":null,"topics":["42cursus","nestjs","postgresql","typescript","vuejs"],"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/TheoGuerin64.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":"2023-07-11T18:11:20.000Z","updated_at":"2025-06-10T12:38:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"da09b6e1-5c48-4951-96ff-e6097e3e3b5a","html_url":"https://github.com/TheoGuerin64/ft_transcendence","commit_stats":null,"previous_names":["theoguerin64/ft_transcendence"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheoGuerin64/ft_transcendence","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheoGuerin64%2Fft_transcendence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheoGuerin64%2Fft_transcendence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheoGuerin64%2Fft_transcendence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheoGuerin64%2Fft_transcendence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheoGuerin64","download_url":"https://codeload.github.com/TheoGuerin64/ft_transcendence/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheoGuerin64%2Fft_transcendence/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31715492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T06:22:27.080Z","status":"ssl_error","status_checked_at":"2026-04-12T06:21:52.710Z","response_time":58,"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":["42cursus","nestjs","postgresql","typescript","vuejs"],"created_at":"2024-11-24T16:15:03.178Z","updated_at":"2026-04-12T12:36:55.040Z","avatar_url":"https://github.com/TheoGuerin64.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ft_transcendence\n\nA pong game website with ranking, chatting, 2FA ...\n\n## Features\n\n### Pong game with ranking:\u003cbr/\u003e\n![play-menu](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/41260a64-0e2a-4b57-bf50-4a42bc055420)\u003cbr/\u003e\n![wait-menu](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/8a11b943-a45c-4835-8d59-f028f2f2cee7)\u003cbr/\u003e\n![pong-playing](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/61a1d516-24bd-4c24-8d2d-d98edd1c079a)\u003cbr/\u003e\n![match-history](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/3d482a5a-3496-4d06-9261-4e1c928e570e)\u003cbr/\u003e\n\n### OAuth2 authentication with 42 intra:\u003cbr/\u003e\n![sign-in-button](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/1558095c-f55d-4f5d-8ecb-f13365af1a52)\u003cbr/\u003e\n![42-intra-sign-in](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/ec5dab8b-f0c0-4850-acfd-617e13c28550)\u003cbr/\u003e\n\n### User profiles:\u003cbr/\u003e\n![user-profile](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/3c98751d-3910-421f-82a5-b098158477b8)\n![public-profile](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/6a490079-11e3-4b69-af7b-028ac2e1f5cf)\u003cbr/\u003e\n\n### 2FA:\u003cbr/\u003e\n![add-2fa-button](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/8fd7eca8-be99-4c69-a426-c19d05f10a5a)\u003cbr/\u003e\n![2fa-code-form](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/97dd7cf7-a054-4181-aedf-80a40c71ee50)\u003cbr/\u003e\n\n### Friend list:\u003cbr/\u003e\n![friend-list](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/73b25561-3d84-46ed-b970-8fd57fc09a16)\u003cbr/\u003e\n![game-invitation](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/a6182e6b-093d-480d-9b3a-44e1e51aedb0)\u003cbr/\u003e\n\n### Chat:\u003cbr/\u003e\n![chat-creation](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/4092e803-41be-4ce4-aafe-a0fb4565fba8)\u003cbr/\u003e\n![channel-list](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/8e2ec61b-e7b1-49f2-b2c5-627421aa0eb0)\u003cbr/\u003e\n![chat](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/0f75110e-d103-4fcd-9087-3a29488b0e61)\u003cbr/\u003e\n![chat-context-menu](https://github.com/TheoGuerin64/ft_transcendence/assets/57496441/ea9147b1-81b4-455a-89a6-feee93bb5049)\u003cbr/\u003e\n\n## Usage\n*require docker and docker-compose*\n- Clone the repository: `git clone https://github.com/TheoGuerin64/ft_transcendence.git`\n- Create a .env in the root folder of the project and fill it with keys indicated in the ![next section](https://github.com/TheoGuerin64/ft_transcendence?tab=readme-ov-file#required-env-variables)\n- Run this command in your terminal: `docker compose up --build -d`\n- Open in your web browser: http://127.0.0.1:8080\n\n## Required env variables\n - [INTRA42_UID](https://profile.intra.42.fr/oauth/applications) (optional)\n - [INTRA42_SECRET](https://profile.intra.42.fr/oauth/applications) (optional)\n - [INTRA42_REDIRECT_URI](https://profile.intra.42.fr/oauth/applications) (optional)\n - [POSTGRES_USER](https://github.com/docker-library/docs/blob/master/postgres/README.md#postgres_user)\n - [POSTGRES_PASSWORD](https://github.com/docker-library/docs/blob/master/postgres/README.md#postgres_password)\n - [PGADMIN_DEFAULT_EMAIL](https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html)\n - [PGADMIN_DEFAULT_PASSWORD](https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html)\n - JWT_SECRET (minimum 50 char)\n - TWOFA_PASSWORD\n - [TWOFA_SALT](https://en.wikipedia.org/wiki/Salt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheoguerin64%2Fft_transcendence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheoguerin64%2Fft_transcendence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheoguerin64%2Fft_transcendence/lists"}