Giter Club home page Giter Club logo

bbq's Introduction

World of events

A social network application with which users can create events, subscribe to them, leave comments on events, as well as add photos to them.

Access restriction to the event by pin code is available. To view the original size of the photo, they are displayed in the form of a gallery.

The address of the event is displayed on the built-in map using Yandex.map.

Users receive information about updating events (added a comment, photo, or a new subscriber for the event) by email.

Authorization via email and Github is available in the application.

In a production environment, Amazon S3 is used to store photos added to the event.

PostgreSQL is used as a powerful, open source object-relational database system.

For the development of the frontend, used bootstrap 4.x and webpacker 5.x.

Ruby and Ruby on Rails version

  • Ruby 3.1.2

  • Rails 6.1.3

The main gems used in the application:

carrierwave - upload files in your Ruby applications, map them to a range of ORMs, store them on different backends;

devise - flexible authentication solution for Rails with Warden;

pundit - object oriented authorization for Rails applications;

rails-i18n - Internationalization support for Ruby;

capistrano - deploy to VPS;

resque + redis - for background jobs;

Deploy app local

Note: all commands must be run from the command line/terminal, from the directory, where you clone repository

  1. Download or clone repository, then run bundler
bundle exec install
  1. To create a database, run
rails db:schema:load
  1. Credentials setup

For the application to work correctly in a production environment, add the following keys and their values to your credentials.yml.enc file:

EDITOR=nano rails credentials:edit
yandex:
  maps_api_key:

production_db:
  database:
  username:
  password:

zoho:
  username:
  password:

aws:
  s3_access_key:
  s3_secret_key:
  s3_region:
  s3_bucket_name:

development:
  github:
    omniauth_id:
    omniauth_secret:

production:
  github:
    omniauth_id:
    omniauth_secret:

Deploy on Heroku

  1. Attach Heroku Redis to an application via the CLI:
heroku addons:create heroku-redis:hobby-dev -a your-app-name
  1. Add your master.key to Heroku Config Vars
heroku config:set RAILS_MASTER_KEY=123456789
  1. Deploy app on Heroku
git push heroku master

How to run app

To start the Rails server, type

rails s

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.