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 tool at SinnerSchrader and the related bachelor thesis by Torben Reetz.
- TypeScript + TypeORM in the backend (via node-ts, considering deno)
- TypeScript + React with hooks + Parcel in the frontend
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 servicesdocker compose --profile dev up
to additionally start development-related containers (such as smtp4dev and adminer)- 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
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 http://localhost:5173/
- In development mode, the API is proxied to the frontend
- You can browse the storybook via
npm run storybook
, listening on http://localhost:9009/
The database connection is configured in the .env.local
file. You can copy the defaults from the .env
file.
Defaults are:
DB_TYPE=postgres
DB_HOST=localhost
DB_PORT=5432
DB_USER=talentbook
DB_PW=talentbook
DB_NAME=talentbook
Currently, only postgres is supported.
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):
# packages/backend/.env.local:
GITHUB_CLIENT_ID=deadbeefdeadbeef
GITHUB_CLIENT_SECRET=deadbeefdeadbeefdeadbeefdeadbeef
- You can browse the REST API endpoints via http://localhost:8001/apidocs/