This fork of SinnerSchrader's SkillWill is intended to adapt it to the needs of mindmatters. The necessary changes include:
- removing dependencies to external infrastrucure (except Google Loing APIs)
- applying custom stylesheets to match mindmatters' CD
- removing the admin role: every user is allowed to make global changes
- removing the ability to hide skills (as this added complexity without being useful...)
SkillWill is a simple tool to track what people know (their skills) and what people want to do (their wills). Every user can define their personal levels of interest and knowledge for each skill in the system; anyone can search for persons by those skills, e.g.
- You want somebody to teach you programming language x? → Search for x and see who can help.
- You're a project manager and need somebody who can do x? → Search x foobar and you get a list of candidates.
- You want to get better at x? → Show your interest for x and people who need some to do x will find you.
- ...
If you don't want to used the dockerized development setup, you'll need to have some stuff installed to build and run skillwill locally:
- Java 12
- maven
- A local MongoDB
Variant 1: Docker Compose
- run
docker-compose up --build
- the application starts on port 8080
Variant 2: Build locally
- run
scripts/build-start-local.sh
The app is deployed via heroku, assuming you have an account and have the required permissions to deploy the project, just run:
scripts/deploy.sh
/
: Application main view/swagger
: Interactive API documentation/actuator/info
: Show application-specific stats (# of users, skills per user, etc.)
- Google Java Style Guide
- Exceptions:
- Maximum of 100 characters per line will not be enforced.
- Add one unit of vertical whitespace (aka one empty line) after multi-line method signatures.
- most of all, have some common sense
- There are no hard and fast rules right now, but style guidlines were established over the last month:
- We dont use semi colons at the end of a line unless needed
- we favor destructuring of objects over repeating this and props
- there are two spaces inside curly braces e.g.
{foo}should be { foo } - no spaces at the end of a line and no trailing commas
- it's ok to use the implicit return of the arrow function
- please use more expressive names for functions and variables than 'e', 'el', 'data'...
- no deeply nested ternaries
- every function should have a single purpose
- To quote Robert Martin
Functions should have a small number of arguments. No argument is best, followed by one, two, and three. More than three is very questionable and should be avoided with prejudice.
- MIT (see LICENSE.md)