{"id":13791465,"url":"https://github.com/codam-coding-college/find-peers","last_synced_at":"2025-04-23T15:32:13.631Z","repository":{"id":38621889,"uuid":"459546875","full_name":"codam-coding-college/find-peers","owner":"codam-coding-college","description":"This website is meant to help students find peers that are working on the same project","archived":false,"fork":false,"pushed_at":"2025-02-24T15:26:28.000Z","size":311,"stargazers_count":41,"open_issues_count":6,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T17:11:16.315Z","etag":null,"topics":["42born2code"],"latest_commit_sha":null,"homepage":"https://find-peers.codam.nl","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/codam-coding-college.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":"2022-02-15T11:19:29.000Z","updated_at":"2025-03-17T14:46:48.000Z","dependencies_parsed_at":"2023-12-01T23:31:18.821Z","dependency_job_id":"4c96255c-afb0-4628-ade8-75b516a6ac03","html_url":"https://github.com/codam-coding-college/find-peers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codam-coding-college%2Ffind-peers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codam-coding-college%2Ffind-peers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codam-coding-college%2Ffind-peers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codam-coding-college%2Ffind-peers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codam-coding-college","download_url":"https://codeload.github.com/codam-coding-college/find-peers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250460567,"owners_count":21434266,"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":["42born2code"],"created_at":"2024-08-03T22:01:00.587Z","updated_at":"2025-04-23T15:32:13.303Z","avatar_url":"https://github.com/codam-coding-college.png","language":"TypeScript","funding_links":[],"categories":["Student projects"],"sub_categories":["CLIs"],"readme":"# Find peers --\u003e [find-peers.codam.nl](https://find-peers.codam.nl)\n\nThis website is meant to help students to find peers that are working on the same project\n\n## Developing\n## Setup \u0026 configuration\n- Create a Oauth application on [intra](https://profile.intra.42.fr/oauth/applications)\n- Copy the file `./env/.env-example` to `./env/.env` and fill out the (secret) data\n\nAlso see `./src/env.ts` for more configuration\n\n## Changing listed projects\n- The projects shown on the front page are listed in `./env/projectIDs.json`. Should the curriculum change, you can edit that file. Remember to restart the server and wait for the server to pull all the data from the intra api.\n- A list of all the projects and their corresponding ID in the 42 network (as of march 2022) can be found in `./env/allProjectIDs.json`\n\n## Updating the secrets / API tokens\n```shell\ncd find-peers\nvim env/.env\n# make changes\ndocker compose down\ndocker compose up -d\n\n# To get logs\ndocker logs --tail 10000 -f find-peers\n```\n\n## Monitoring\nAt the (unauthenticated) route `/status/pull` you can see a summary of the pull status of every campus\nIt contains the key `hoursAgo` for every campus, which is the amount of hours since the last successful pull (syncing the 42 DB of the users' completed projects) of that campus\nThis value should not be higher than 2 * the pull timeout (currently 24 hours)\n\n## Configuration files\n| File path                                    | Description                                                                           | Managed by server |\n|----------------------------------------------|---------------------------------------------------------------------------------------|-------------------|\n| `./env/projectIDs.json`                      | List of all the projects and their corresponding ID to be displayed on the front page | no                |\n| `./env/allProjectIDs.json`                   | List of all projects in the 42 network (as of march 2022)                             | no                |\n| `./env/.env-example`                         | Example file for api tokens, rename to `.env` to activate                             | no                |\n| `./env/campusIDs.json`                       | List of all campuses and their corresponding ID that are fetched from the 42 API      | no                |\n| `./database/`                                | All database files, mount this when running in a docker container                     | yes               |\n| `./database/sessions/`                       | All session files currently active                                                    | yes               |\n| `./database/users.json`                      | Userdata associated with session                                                      | yes               |\n| `./database/\u003ccampus_name\u003e/lastpull.txt`      | Unix timestamp when the project users of that campus were last successfully updated   | yes               |\n| `./database/\u003ccampus_name\u003e/projectUsers.json` | Status of users for each project                                                      | yes               |\n\n## Running\nThe 'database' of this project is a folder called 'database' at the root of the project.\n\n### Docker and Docker-compose\nThis is in production\n```shell\ngit clone https://github.com/codam-coding-college/find-peers.git\ncd find-peers\ndocker compose up -d\n\n# To get logs\ndocker logs --tail 10000 -f find-peers\n```\n\n### Locally\n- Install Nodejs \u003e= 18.x\n- Install dependencies\\\n`npm install`\n- Start development server\\\n`npm run dev`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodam-coding-college%2Ffind-peers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodam-coding-college%2Ffind-peers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodam-coding-college%2Ffind-peers/lists"}