Skip to content

WebgateSystems/webgate.pro

Repository files navigation

webgate.pro

CI Coverage Ruby Rails License: GPL v3

About

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.

Features

  • 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

License

webgate.pro is released under the GNU General Public License v3.0.

Contributing

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

Prerequisites

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)

Installation

Initial Setup

  1. Create config/config.yml file
cp config/config.yml.example config/config.yml
  1. Create config/sidekiq.yml file
cp config/sidekiq.yml.example config/sidekiq.yml

Local Development (without Docker)

  1. Install Gems
bundle install
  1. Create .env file

The terminal must be in the root folder of the project.

cp .env.example .env

Edit the .env file and add your PostgreSQL credentials:

nano .env

For example (user must be created locally in PostgreSQL):

POSTGRES_USER='your_postgres_username'
POSTGRES_PASSWORD='your_postgres_password'
  1. Create Database
bundle exec rails db:create
  1. Run Migrations
bundle exec rails db:migrate

If necessary, you can add basic data:

bundle exec rails db:seed
  1. Start the Rails Server
bundle exec rails s

Visit the site at http://localhost:3000

Docker Development

  1. .env file setup

The terminal must be in the root folder of the project.

cp .env.example .env

Edit the .env file and add your PostgreSQL credentials:

nano .env

For example:

POSTGRES_USER='your_postgres_username'
POSTGRES_PASSWORD='your_postgres_password'

Also uncomment these lines:

POSTGRES_HOST=postgres
REDIS_URL=redis://redis:6379/0
  1. Start Project with Docker
docker compose --env-file .env up
  1. Create Database
docker-compose run app rails db:create

OR use the provided script (this command will create and migrate your database):

chmod +x bin/create_db.sh
./bin/create_db.sh
  1. Run Migrations
docker-compose run app rails db:migrate

If necessary, you can add basic data:

docker-compose run app rails db:seed

Running Tests

bundle exec rspec

Additional Information

  • 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

About

Official site of Webgate Systems, first public version.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6