{"id":24529772,"url":"https://github.com/learosema/talentbook","last_synced_at":"2025-04-14T17:37:34.633Z","repository":{"id":42693755,"uuid":"225232918","full_name":"learosema/talentbook","owner":"learosema","description":"A platform for sharing skills, finding mentors and building teams","archived":false,"fork":false,"pushed_at":"2023-07-22T19:47:33.000Z","size":4605,"stargazers_count":8,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2023-07-22T20:22:22.488Z","etag":null,"topics":["react","typeorm","typescript"],"latest_commit_sha":null,"homepage":"https://talentbook.lea.lgbt/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/learosema.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-01T21:22:47.000Z","updated_at":"2023-07-18T08:22:02.000Z","dependencies_parsed_at":"2023-02-08T06:00:42.832Z","dependency_job_id":null,"html_url":"https://github.com/learosema/talentbook","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learosema%2Ftalentbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learosema%2Ftalentbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learosema%2Ftalentbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/learosema%2Ftalentbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/learosema","download_url":"https://codeload.github.com/learosema/talentbook/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235082228,"owners_count":18932920,"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":["react","typeorm","typescript"],"created_at":"2025-01-22T07:52:38.149Z","updated_at":"2025-01-22T07:52:40.288Z","avatar_url":"https://github.com/learosema.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Talentbook\n\n[![Build Status](https://travis-ci.com/terabaud/talentbook.svg?branch=main)](https://travis-ci.com/terabaud/talentbook)\n\nTalentbook is a skill directory platform where you can share your experience level in certain technologies and wether you prefer to work with the technology or not.\n\nThis can help building teams or finding a mentor if you want to learn a new technology.\n\nThis project is inspired by the [SkillWill](https://github.com/sinnerschrader/SkillWill) tool at [SinnerSchrader](https://github.com/sinnerschrader) and the related bachelor thesis by [Torben Reetz]([https://github.com/t0rbn/]).\n\n## Tech stack\n\n- [TypeScript](https://www.typescriptlang.org/) + [TypeORM](https://typeorm.io/) in the backend (via node-ts, considering deno)\n- [TypeScript](https://www.typescriptlang.org/) + [React](https://reactjs.org/) with hooks + [Parcel](https://parceljs.org) in the frontend\n\n## Running talentbook on Docker\n\ntalentbook comes with a ready-to-use docker configuration:\n\n- copy the `.sample.env` configuration to `.env` and adjust settings accordingly.\n- to build the docker images, you can use the `./docker-build.sh` shell script\n- `docker compose up -d` to start, `docker compose down` to stop the services\n- `docker compose --profile dev up` to additionally start development-related containers (such as [smtp4dev](https://github.com/rnwood/smtp4dev) and [adminer](https://adminer.org))\n- note: when you used `docker compose --profile dev up -d` with the `--profile dev` option, remember to also specify it when shutting the services down: `docker compose --profile dev down -d`\n- to reset the database, delete the volume via `docker volume rm talentbook_pgdata`\n\n## Running talentbook locally\n\n```sh\nnpm install\nnpm run bootstrap\n\n# start backend\nnpm run backend\n\n# start frontend\nnpm run frontend\n\n# start smtp4dev\nnpm run smtp4dev\n\n# Run backend, frontend and smtp4dev both concurrently\nnpm start\n```\n\n- The frontend is running on \u003chttp://localhost:5173/\u003e\n- In development mode, the API is proxied to the frontend\n- You can browse the storybook via `npm run storybook`, listening on \u003chttp://localhost:9009/\u003e\n\n## Additional setup\n\n### Database\n\nThe database connection is configured in the `.env.local` file. You can copy the defaults from the `.env` file.\n\nDefaults are:\n\n```sh\nDB_TYPE=postgres\nDB_HOST=localhost\nDB_PORT=5432\nDB_USER=talentbook\nDB_PW=talentbook\nDB_NAME=talentbook\n```\n\nCurrently, only postgres is supported.\n\n### GitHub integration\n\nYou can provide a \"Login/Sign Up via Github\" button. Create an oauth key and put them in the backend's `.env.local` file (or when using docker, use the top `.env` file):\n\n```sh\n# packages/backend/.env.local:\nGITHUB_CLIENT_ID=deadbeefdeadbeef\nGITHUB_CLIENT_SECRET=deadbeefdeadbeefdeadbeefdeadbeef\n```\n\n## Backend API\n\n- You can browse the REST API endpoints via \u003chttp://localhost:8001/apidocs/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearosema%2Ftalentbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flearosema%2Ftalentbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearosema%2Ftalentbook/lists"}