This project is an implementation of microservice for test exam on back-end ruby developer position. It provides CRUD operations on records of mad scientists and their inventions. The following technologies are used:
- PostgreSQL as RDBMS;
- Ruby as main programming language;
- Puma as HTTP-server;
- Sinatra as DSL for REST API definitions;
- Sequel as ORM;
- RSpec as DSL for tests;
- and also some other awesome libraries which names can be found in
Gemfile
of the project.
Although it's not required, it's highly recommended to use the project in a
virtual machine. The project provides Vagrantfile
to automatically deploy and
provision virtual machine with use of VirtualBox
and vagrant tool. One can use vagrant up
in the
root directory of the cloned project to launch virtual machine and vagrant ssh
to enter it after boot. To run the script, which will install gems listed
in Gemfile, create testdb and run a migrations, uncomment 40th line in
Vagrantfile