sicambria / skilltree

Skill tree is a web app to visualize skills, motivating people for self-development and supporting the culture of cooperation and knowledge sharing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Skill Tree

Skill tree is a web app to visualize skills, motivating people for self-development and supporting the culture of cooperation and knowledge sharing.

Main features:

  • Record your current skills and their levels in a visual form
  • Immediately see the self-development options ahead of you (increase awareness of skills, available help & trainings)
  • Inspire people to think about their future & create a personal learning plan with time-framed steps
  • Find people fast with a specific skill & willingness to share their knowledge (enhance collaboration)
  • Making it easy to offer/request training for a specific skill and a specific skill level (build p2p training culture)
Planned features

See the Projects tab.

Development

Skill Tree needs the following components to operate:

  • node.js - An open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
  • Express - A web framework for Node.js
  • MongoDB - A free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemata.
  • Nginx - A web server which can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.
  • A GNU/Linux distribution, e.g. Debian or Ubuntu.

Do you want to contribute? Awesome!

  • You can help us extending the list of skills and trees
  • You can help improving code quality, test coverage and creating new features
  • You can let more people know what SkillTree is & attract more contributors

Please read the contribution guidelines.

Code quality

Total alerts

Maintainability Test Coverage

Installation

You will need a domain name to install (HTTPS will be configured by default via Let's Encrypt.)

Option 1 - Install script on Debian 9

If you are not familiar with server setup, we recommend to read through the following tutorials:

Install script (MongoDB, Let's Encrypt, SkillTree & dependencies)
cd
mkdir skilltree
cd skilltree
wget https://raw.githubusercontent.com/sicambria/skilltree/master/install/skilltree_install_debian9.sh ; chmod +x skilltree_install_debian9.sh ; nano skilltree_install_debian9.sh

After running the install script, finalize server configuration.

For Nginx, edit "sites-available/default" (or your domain specific config file) after the installation. Replace YOUR_DOMAIN.ORG to you own domain name.

nano /etc/nginx/sites-available/default
server {
        listen 443 ssl default_server;
        listen [::]:443 ssl default_server;

        ssl_certificate     /etc/letsencrypt/live/YOUR_DOMAIN.ORG/cert.pem;
        ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN.ORG/privkey.pem;

        location / {
                proxy_pass http://localhost:3000/;
        }
}

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        return 301 https://$host$request_uri;
}

Option 2 - Docker (beta)

Build Docker images
docker build --no-cache -t localhost/skilltree-mongodb:latest ./docker-build/mongodb/
docker build --no-cache -t localhost/skilltree-nginx:latest ./docker-build/nginx/
docker build --no-cache -t localhost/skilltree-nodejs:latest ./docker-build/nodejs/
Run Docker containers (in this order!)
docker run -d -p <IPADDRESS>:27017:27017 localhost/skilltree-mongodb
docker run -d -p <IPADDRESS>:3000:3000 -e DBADDRESS=<IPADDRESS> localhost/skilltree-nodejs
docker run -d -e BACKEND=<IPADDRESS> -p 0.0.0.0:80:80 localhost/skilltree-nginx

Production use

License

BSD License 2.0

About

Skill tree is a web app to visualize skills, motivating people for self-development and supporting the culture of cooperation and knowledge sharing.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:JavaScript 71.3%Language:HTML 25.1%Language:CSS 2.9%Language:Shell 0.6%Language:Dockerfile 0.1%