PuzzleSkills is an open source webapplication to facilitate skill management.
With the help of PuzzleSkills Users can manage their profiles, CVs and Skills.
Back-End
This is the Backend documentation for the PuzzleSkills Application . The Back-End is built with Ruby on Rails with an API interface.
Prerequisites
You will need the following things properly installed on your computer:
- Git (Version Control System)
- RVM (Ruby Version Manager)
- Either PostgreSQL or Docker for the Database (Docker is recommended)
Quick Setup
Clone the repository to your machine:
git clone https://github.com/puzzle/skills.git
Enter the repository:
cd skills
Install Ruby with the help of RVM:
rvm install 2.5
Tell RVM to use the just install Ruby Version:
rvm use 2.5
Install the ruby package manager:
gem install bundler
And let the bundler install all the prerequisite gems:
bundle install
Database setup
With Docker
Install docker and docker-compose
docker-compose up -d
Just with Vanilla Postgresql
Install Postgresql
sudo apt-get install postgresql postgresql-contrib
Start Postgresql as superuser
sudo su - postgres
Create the user skills
createuser skills -s -l -P
(with password 'skills')
exit
With the Server setup completed
go back to the skills folder
And let rails setup the database
rails db:setup
Running / Development
You can run the backend server with
rails s
Congratulations you have the Ruby on Rails backend up and running. From here on continue with the frontend setup
Front-End
The Front-End is built with EmberJS.
Testing
- To run the backend tests run
rake spec
- Frontend tests can be executed with
rake spec:frontend
- Frontend tests with livereload
rake spec:frontend:serve
- To run a single test run the following command in the frontend folder
npm test --filter "some filter words"
- There is also
rake ci
andrake ci:nightly
which should be periodically exectued by a build job (e.g. on jenkins)
Documentation
Find further Documentation at the links below