/unify

Event management platform

Primary LanguageRuby

Build Status

Foreword

The following lines were written for future contributors to be able to pick up the project but any interested developer is welcome to read. If you are a recruiter lost on github, you should definitely hire me, or anyone else on the team.

Description

Unify is an open source progressive web application to manage students events at Isep. Among a lot of amazing features, it allows student clubs to create events and students to register to those events.

Stack

Rails logo Postgreslogo Sass logo Bootstrap logo JS logo Webpack logo

The stack is quite easy to learn but you will need to be familiar with the MVC pattern.

Infrastructure

Continuous integration powered by Travis CI on a Heroku dyno. Images hosted in Cloudinary

CI picture

Philosophy and core values

  • Value user stories
  • Make code reviews
  • Seek for the highest performance
  • Focus on security
  • Code in english, write user ouputs in french
  • Don't commit blocks of commented code
  • Care about the end user
  • Keep up dry code

Style guide

  • For the frontend, make use of Sass amazing features and write good looking ES6 JavaScript code following Airbnb style guide.
  • For the backend, respect the Rails doctrine and don't violate the MVC pattern.

Setup for Rails and Postgres

If you don't have rails installed on your computer, click on your OS and follow the steps. If you're on Windows I would recommend either installing ubuntu in dual boot, running ubuntu in a VM or buying a MacBook Pro.

macOS Ubuntu

Starting with Rails

Documentation
Rails repository

Workflow

Github flow

Reviews

To review someone's code, fetch the latest changes and checkout to the feature's branch.

git fetch
git checkout sexy-feature

Then make sure everything works like expected and the code is clean. Comment the PR to discuss improvements and merge if it passes all the tests. Don't forget to delete the branch afterwards.

HTML Structure

<div class="container-fluid spacer">
    <div class="row">
        <div class="col">
            <h1>Nouvelle page web</h1>
        </div>
    </div>
</div>

Running PWA locally with ngrok

Install ngrok

  • Mac OS
brew cask install ngrok
  • Linux
sudo snap install --edge ngrok

Launch an ngrok tunnel alongside your rails server

ngrok http 3000

Use the secure url provided by ngrok (e.g. https://b56de23.ngrok.io) to access your app through an Android browser.
Once your app has loaded, click on the add to homescreen shortcut Firefox a2hs button (Firefox) or click on menu Chrome menu then Add to homescreen (Chrome)

Team resources

Google drive
Trello
Slack
Heroku pipeline
Travis CI
Database schema
Mockup