webgate.pro is the official website of Webgate Systems. Created with Ruby on Rails framework as a multilingual application for our internal purposes and, of course, to showcase what exactly we do and how.
- Modern Ruby on Rails 7.0 application with latest best practices
- Multilingual support (DE, EN, FR, PL, RU, UA) using Globalize gem
- Comprehensive test coverage (over 95%) with RSpec, Capybara, and Selenium WebDriver
- Background job processing with Sidekiq
- Image uploads and processing with CarrierWave
- Admin panel for content management
- SEO-friendly sitemap generation
- Docker support for easy development setup
webgate.pro is released under the GNU General Public License v3.0.
Since this is free software under GPL license - feel free to contribute, improve its source code or provide constructive feedback. Your pull requests are welcome!
Thanks a lot for feedback!
Webgate Systems Team
The setup steps expect the following tools installed on the system:
- Git
- Ruby 3.2.2
- Rails 7.0.10
- PostgreSQL 15
- Redis 5.0.7+
- Java 11+ (for image processing with ImageMagick)
- Create config/config.yml file
cp config/config.yml.example config/config.yml- Create config/sidekiq.yml file
cp config/sidekiq.yml.example config/sidekiq.yml- Install Gems
bundle install- Create .env file
The terminal must be in the root folder of the project.
cp .env.example .envEdit the .env file and add your PostgreSQL credentials:
nano .envFor example (user must be created locally in PostgreSQL):
POSTGRES_USER='your_postgres_username'
POSTGRES_PASSWORD='your_postgres_password'- Create Database
bundle exec rails db:create- Run Migrations
bundle exec rails db:migrateIf necessary, you can add basic data:
bundle exec rails db:seed- Start the Rails Server
bundle exec rails sVisit the site at http://localhost:3000
- .env file setup
The terminal must be in the root folder of the project.
cp .env.example .envEdit the .env file and add your PostgreSQL credentials:
nano .envFor example:
POSTGRES_USER='your_postgres_username'
POSTGRES_PASSWORD='your_postgres_password'Also uncomment these lines:
POSTGRES_HOST=postgres
REDIS_URL=redis://redis:6379/0- Start Project with Docker
docker compose --env-file .env up- Create Database
docker-compose run app rails db:createOR use the provided script (this command will create and migrate your database):
chmod +x bin/create_db.sh
./bin/create_db.sh- Run Migrations
docker-compose run app rails db:migrateIf necessary, you can add basic data:
docker-compose run app rails db:seedbundle exec rspec- Admin panel is available at
/admin(requires authentication) - Default languages: DE, EN, FR, PL, RU, UA
- Background jobs are processed by Sidekiq
- Sitemaps are generated automatically