{"id":23122374,"url":"https://github.com/ilahyani/ft_transcendence","last_synced_at":"2025-04-04T04:15:11.204Z","repository":{"id":225480825,"uuid":"698580401","full_name":"ilahyani/ft_transcendence","owner":"ilahyani","description":"Multiplayer Realtime Online Pong Game Webapp","archived":false,"fork":false,"pushed_at":"2024-02-28T22:52:19.000Z","size":21546,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T15:36:13.873Z","etag":null,"topics":["1337school","42","42cursus","nestjs","nextjs","postgresql","prisma","transcendence"],"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/ilahyani.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}},"created_at":"2023-09-30T10:41:19.000Z","updated_at":"2024-12-21T18:40:10.000Z","dependencies_parsed_at":"2024-03-02T11:55:09.455Z","dependency_job_id":null,"html_url":"https://github.com/ilahyani/ft_transcendence","commit_stats":null,"previous_names":["ilahyani/ft_transcendence"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilahyani%2Fft_transcendence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilahyani%2Fft_transcendence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilahyani%2Fft_transcendence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilahyani%2Fft_transcendence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilahyani","download_url":"https://codeload.github.com/ilahyani/ft_transcendence/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247117763,"owners_count":20886439,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["1337school","42","42cursus","nestjs","nextjs","postgresql","prisma","transcendence"],"created_at":"2024-12-17T07:19:14.539Z","updated_at":"2025-04-04T04:15:11.186Z","avatar_url":"https://github.com/ilahyani.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PONG CLUB\nIT'S LEVELS IT'S LAYERS SO PRAY FOR THE PLAYERS 🎮\n\n![LandingPage](screenshots/landingPage.gif)\n\n## What and How\n\nThis project encompasses a web-based multiplayer pong game, complete with user profiles, achievements, direct messaging, and channels. It also allows for one-on-one pong matches with friends or randomly selected opponents. The frontend is crafted using Next.js and Tailwind CSS, while the backend utilizes Nest.js with Socket.IO. PostgreSQL, in conjunction with Prisma, serves as the database. The entire project is containerized within a Docker environment.\n\n## Shots\n\n[Check the whole project in Figma](https://www.figma.com/file/CeajoodIjiEF7qjO5pwEfO/PongClub-Dark?type=design\u0026node-id=0%3A1\u0026mode=design\u0026t=x78hSalmhxwsMQEm-1) Designed By [ilahyani](https://github.com/ilahyani)\n\n![LoginPage](screenshots/Login.png)\n![Profile](screenshots/Profile.png)\n![Chat](screenshots/Chat.png)\n![Game](screenshots/Game.png)\n![GamePlay](screenshots/Gameplay.png)\n\n## How To Run The Application\n\nfirst you need a `.env` file in `/backend` with the following variables:\n\n```bash\n42_UID\n42_SECRET\n42_CALLBACK_URI\n\nPOSTGRES_DB\nPOSTGRES_USER\nPOSTGRES_PASSWORD\nDATABASE_URL\n\nJWT_SECRET\n```\n\n### Running Locally\n\nTo run the frontend and backend locally, follow these steps:\n\n1. Run the database:\n\n```bash\ndocker-compose up database --build\n```\n\n2. In a new terminal, navigate to the frontend directory and install the dependencies:\n\n```bash\ncd frontend\nnpm install -f\n```\n\nMake sure the `backend_host` env in in `/fronetend/.env.local` is set to the right value\n\n3. Start the frontend:\n\n```bash\nnpm run dev\n```\n\n4. In a new terminal, navigate to the backend directory and install the dependencies:\n\n```bash\ncd backend\nnpm install -f\n```\n\n5. Start the backend:\n\n```bash\nnpm run start:dev\n```\n\n### Running with Docker\n\nTo run the application with Docker, set the `backend_host` env in `/fronetend/.env.local` to the right value then use this:\n\n```bash\ndocker-compose up --build\n```\nYou can also use the Makefile:\n\n```bash\nmake\n```\n\nHere are the available commands:\n* `make` : Builds and starts the Docker containers.\n* `make down`: Stops and removes the Docker containers.\n* `make clean`: Stops the Docker containers and removes the Docker images and volumes.\n* `make re`: Runs make clean and then make up.\n* `make fclean`: Runs make clean and then removes all Docker objects and cache.\n\nIf you want to try the application without using Intra for login, run this command in `/backend` to create a test account\n\n```bash\nnpm run db:populate\n```\n\nThen login with these credentials: `username: Mugiwara | password: aBcd!123 `\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filahyani%2Fft_transcendence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filahyani%2Fft_transcendence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filahyani%2Fft_transcendence/lists"}