Git Product home page Git Product logo

shift-reservation's Introduction

Shift reservation

Dependency Status Build Status Chat Coverage Status

Build history for master branch

Introduction

This application tries to make it possible to reserve places in a school where the users are not capable of doing on their own (because they are under age). Parents can sign up with their own data and then add their offspring. Once that is done they can ask for a particular shift where they want their offspring to be assigned.

It is also a technology example for the following:

  • Rails 5
  • Haml
  • Patternfly
  • RSPEC
  • Rubocop

TODO

There is a TODO file describing what is still missing

Configuration

This application has been created to be deployed in OpenShift online v 3. You need:

  • An OpenShift online account
  • A Rails cartridge (5.0.0.1)
  • A PostgreSQL cartridge (9.5, but anyone should work) I recommend to set up the application as an elastic one so the database is in a different place
  • Environment variables (rhc env set):
    • GMAIL_DOMAIN
    • GMAIL_PASSWORD
    • GMAIL_USERNAME

If you are using gmail, you should use two-factor authentication to avoid the account to be considered as an spam account

Description

Shift reservation is a simple program to make it possible distributed assignment of shifts to students that can not do it by themselves, and need their parents to do it in their behalf. There are different rooms that hold classes in parallel, and each of those rooms have a group of shift. A new student needs to be assigned to one of the shifts for the full course. Rooms have a capacity, but some of the shifts can have some places reserved (prebooked) for different reasons, and the parent is free to choose any shift that has some free space left.

This does not take into account that the parents can need

Users

Users are identified as parents. They can add and delete offspring and assigning them to a shift. Only one parent is in the system, and there is no option for two parents (although it could be added). They can sign up and add children into the system, and they can assign those children to shifts that have some space available. They can also delete those children from the system. The amount of information requested is the minimum possible.

Offsprings

Offsprings are related to parents and they are the subject that is assigned to a shift. An offspring is assigned to a single shift for the year.

Room and shift

There are different rooms that can be assigned. Each one has different shifts that corresponds to a group of students and a teacher.

An offspring can only be assigned to a shift in a single room. Trying to add another will result in the first one being deleted.

Getting started

Prerequisites

Get the Rails environment up and running

$ bin/setup            # Installs dependencies, config, prepares database, etc
$ rails s              # Application starting in development

You can also install dependencies and database manually. If you choose this way, you should install bower before starting the application, and don't forget to update it when necessary.

$ bower install     

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.