Overview:
This product is an application built using multiple technologies such as Docker, Postgresql, Nginx proxy, Ruby on Rails 5 (API only), and React + Redux + Redux Thunk + Reselect. It allows users to run and manage the application easily.
Features:
- Docker Compose integration
- Postgresql database support
- Nginx proxy for streamlined access
- Ruby on Rails backend API
- React + Redux frontend with Redux Thunk and Reselect
- Sidekiq integration for background tasks
Installation:
To install the theme, follow these steps:
Create the database and run migrations:
docker-compose run backend rails db:create docker-compose run backend rails db:migrateAlternatively, log in via bash and run the commands there:
docker-compose run backend bash rails db:create rails db:migrate exitIf you are using Docker for Mac, set up the directory
/Usersto be bind mounted into Docker containers:- Go to Docker for Mac preferences
- Open the File Sharing tab
- Add
/Usersto the list of shared directories
Run the application:
docker-compose upAccess the application in your browser at http://localhost:8080
To install new Yarn/NPM packages in the React container, access the bash console for the React container:
docker-compose exec frontend bashTo access the bash console for the Rails app and run
rails c:docker-compose exec backend bashTo create the database:
docker-compose exec backend rails db:createTo run migrations:
docker-compose exec backend rails db:migrateTo stop and remove the application:
docker-compose down -vTo run backend RSpec tests:
docker-compose exec backend rspecTo run Jest (JS) specs:
docker-compose exec frontend yarn test
Summary:
This product is a multi-technology application that utilizes Docker, Postgresql, Nginx proxy, Ruby on Rails, and React + Redux. It provides an easy installation process and allows for easy management of the application. Users can run the application, perform database operations, access the bash consoles for each component, and run tests. The application architecture is built using Docker Compose, with separate containers for the various services. The Nginx proxy container is responsible for combining the services and exposing ports for access. The product also provides recommended dependency versions for Docker Compose, Docker, and Ruby.