https://github.com/learosema/talentbook
A platform for sharing skills, finding mentors and building teams
https://github.com/learosema/talentbook
react typeorm typescript
Last synced: about 1 year ago
JSON representation
A platform for sharing skills, finding mentors and building teams
- Host: GitHub
- URL: https://github.com/learosema/talentbook
- Owner: learosema
- License: mit
- Created: 2019-12-01T21:22:47.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2023-07-22T19:47:33.000Z (almost 3 years ago)
- Last Synced: 2023-07-22T20:22:22.488Z (almost 3 years ago)
- Topics: react, typeorm, typescript
- Language: TypeScript
- Homepage: https://talentbook.lea.lgbt/
- Size: 4.39 MB
- Stars: 8
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Talentbook
[](https://travis-ci.com/terabaud/talentbook)
Talentbook 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.
This can help building teams or finding a mentor if you want to learn a new technology.
This 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/]).
## Tech stack
- [TypeScript](https://www.typescriptlang.org/) + [TypeORM](https://typeorm.io/) in the backend (via node-ts, considering deno)
- [TypeScript](https://www.typescriptlang.org/) + [React](https://reactjs.org/) with hooks + [Parcel](https://parceljs.org) in the frontend
## Running talentbook on Docker
talentbook comes with a ready-to-use docker configuration:
- copy the `.sample.env` configuration to `.env` and adjust settings accordingly.
- to build the docker images, you can use the `./docker-build.sh` shell script
- `docker compose up -d` to start, `docker compose down` to stop the services
- `docker compose --profile dev up` to additionally start development-related containers (such as [smtp4dev](https://github.com/rnwood/smtp4dev) and [adminer](https://adminer.org))
- 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`
- to reset the database, delete the volume via `docker volume rm talentbook_pgdata`
## Running talentbook locally
```sh
npm install
npm run bootstrap
# start backend
npm run backend
# start frontend
npm run frontend
# start smtp4dev
npm run smtp4dev
# Run backend, frontend and smtp4dev both concurrently
npm start
```
- The frontend is running on
- In development mode, the API is proxied to the frontend
- You can browse the storybook via `npm run storybook`, listening on
## Additional setup
### Database
The database connection is configured in the `.env.local` file. You can copy the defaults from the `.env` file.
Defaults are:
```sh
DB_TYPE=postgres
DB_HOST=localhost
DB_PORT=5432
DB_USER=talentbook
DB_PW=talentbook
DB_NAME=talentbook
```
Currently, only postgres is supported.
### GitHub integration
You 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):
```sh
# packages/backend/.env.local:
GITHUB_CLIENT_ID=deadbeefdeadbeef
GITHUB_CLIENT_SECRET=deadbeefdeadbeefdeadbeefdeadbeef
```
## Backend API
- You can browse the REST API endpoints via