See the test production server available at render(dot)com.
TaskManager is a Trello-like board project.
The project was designed as the test assignment during educational course at DualBootPartners Inc.
It is my pioneer effort in developing leading-edge applications based on the technology stack below:
- Backend API with
- Ruby
- RubyOnRails
- TDD with Minitest
- Frontend designed using React-kanban library with
- ReactJS
- ReduxJS
- React-rdeux
- Redux Toolkit
- AXIOS and Ramda libraries
- Layout stack
- Containerization and building application with
- Docker
- and Docker Compose for orchestration
- Basic CI / CD pipeline configured with Github Actions:
- deploy the built code into production on render(dot)com
- code coverage with coveralls.io
- errors monitoring with Rollbar
- performnce reports with Newrelic
TaskManager uses Docker-compose.
All you need to build the project is install Docker and follow the steps below from project working directory.
docker-compose builddocker-compose run --rm web bash -c "bundle install"docker-compose run --rm web bash -c "bundle exec rails db:create db:migrate"To install run:
docker-compose run --rm web bash -c "bundle exec rails webpacker:install"To compile run:
docker-compose run --rm web bash -c "bundle exec rails assets:precompile && bundle exec rails webpacker:compile"Run interactive bash session if you need to access into the docker container:
docker-compose run --rm --service-ports web /bin/bashdocker-compose upRun all the tests inside the container.
Run Rails test suite using the code below:
bundle exec rails testExecute Ruby and RubyOnRails code-styles tests using the command inside the container:
bundle exec rubocop -aESlint with Prettier tests can be run via the yarn linter:
yarn lintAll the custom ENV variables configured with Rubyconfig Gem.
.envfile includes all the settings and private keys..env.examplefile includes all the settings and private keys with empty variables from.envfile. Copy that file and fill it with valid values when you deploy the project in the new environment.
http://localhost:3000/letter_opener/: Preview email in the default browser instead of sending it in your development environment. Designed with Letter Opener and Letter Opener Web Gems.http://localhost:3000/rails/mailers/user_mailer/: Preview letters layout usingActionMailer::Preview.