Giter Club home page Giter Club logo

skilltree's Introduction

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

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

skilltree's People

Contributors

benisoliver avatar batixsz avatar dubstepz321 avatar sicambria avatar oliverbenis avatar rayaqin avatar azuweyx avatar 6heni avatar csatarigergely avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.