Code Monkey home page Code Monkey logo

propile's Introduction

propile

Community Conference Program Compiler for Agile France.

Continuous delivery is ensured by Travis: Build Status

Installation

Sysadmin

Some environment variables are needed to set up the app :

Database

  • PROPILE_DEV_DB_NAME
  • PROPILE_DEV_DB_USER
  • PROPILE_DEV_DB_PASS
  • PROPILE_TEST_DB_NAME
  • PROPILE_TEST_DB_USER
  • PROPILE_TEST_DB_PASS
  • PROPILE_PROD_DB_NAME
  • PROPILE_PROD_DB_USER
  • PROPILE_PROD_DB_PASS

Mailer (with Mandrill service)

  • MANDRILL_USERNAME
  • MANDRILL_APIKEY

You only need the first six for a development environment, set them in your .bashrc, .tmuxrc, or whatever you want than will set environment variables for your application.

To create databases :

$ sudo -u postgres psql

postgres=# create database <PROPILE_DEV_DB_NAME>;
postgres=# create user <PROPILE_DEV_DB_USER> with password '<PROPILE_DEV_DB_PASS>';
postgres=# grant all privileges on database <PROPILE_DEV_DB_NAME> to <PROPILE_DEV_DB_USER>;
postgres=# create database <PROPILE_TEST_DB_NAME>;
postgres=# create user <PROPILE_TEST_DB_USER> with password '<PROPILE_TEST_DB_PASS>';
postgres=# grant all privileges on database <PROPILE_TEST_DB_NAME> to <PROPILE_TEST_DB_USER>;
postgres=# ^d

$ bundle exec rake db:migrate
$ RAILS_ENV=test bundle exec rake db:migrate

Then, ensure tests are passing :

bundle exec rspec spec/

Setup

To populate database the very first time you run the app :

bundle exec rake db:seed

This will create a Session and a few Presenters and Comments.

To create a user for yourself :

email, pass = 'your email', 'your pass'

me = Account.new
me.email = email
me.maintainer = true # set to false if you want a presenter account
me.password = pass
me.password_confirmation = pass
me.confirmed_at = Time.now
me.save
me.presenter.create!

You can now log in. Please note that even if you set yourself as a maintainer, a presenter profile should still be created as me.presenter to avoid app crashing when reaching dashboard.

Mails

To be able to inspect mails on development env, please install mailcatcher :

gem install mailcatcher

It will proxies all mails to a web interface that you can start using :

mailcatcher

No mail will be sent out. You can run the application without installing or running mailcatcher, you just won't be able to inspect mails.

Findings about design

Sessions and sessions

There are two kind of session in this app :

  • sessions handled by SessionsController : sessions in a conference point of view
  • sessions handled by Account::SessionsController : your regular session, aka log status

The Session model is related to former one.

Creating accounts

To create account, go to the configuration page and use the "New presenter/Maintainer" link in the "Maintainers" section.

Upon completion, a confirmation email will be sent.

propile's People

Contributors

rwestgeest avatar dboissier avatar oelmekki avatar dirkdevriendt avatar

Watchers

Thibaut Barrère avatar  avatar

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.