A Web Application designed to manage clients, tickets and bills, with interaction between provider and clients.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Arthur Poulet 193ad1bd44 fix Client#last_view 7 years ago
app fix Client#last_view 7 years ago
bin Initial commit 8 years ago
config finish ticket thread 7 years ago
db update tickets 7 years ago
lib Initial commit 8 years ago
log Initial commit 8 years ago
public Initial commit 8 years ago
test fix comment, implementation 8 years ago
vendor/assets Initial commit 8 years ago
.gitignore update gitignore for vim 8 years ago
Gemfile add autocompletion on contact and client id 7 years ago
Gemfile.lock add autocompletion on contact and client id 7 years ago
License update License with name 8 years ago
README.md update tickets 7 years ago
RailsMinidoc.md update readme and rails minidoc 8 years ago
Rakefile Initial commit 8 years ago
config.ru Initial commit 8 years ago
doc.sh update doc script 8 years ago


Project Presentation

Morning Peak is a modern and OpenSource Web Application. It has been designed to manage clients, bills, and issues for little and medium compagnies.

Dashboard Desktop view

There is a lot of CRM on the web. Some of them are web application. Some of them are open source. Some of them are modern. But, I never see any of them grouping the 3. It is why I started to develop this application. To improve my skills, my knowledges, and to use it.

I want a simple application, that I understand, and that I need. By simple, I mean:

  • No tasks, no reports, no chat. I want an application to do ONE thing, manage my clients, and it must do it clearly, and good.
  • A pluggable application, with many REST API. Because tasks and reports are usefull.
  • Generic items. I prefere ONE kind of Bills + Tags than 4 ou 5 kinds of Bills (for example).
Tickets Desktop view


  1. Installation
  2. Requirements
  3. Initialization
  4. Configuration
  5. First start
  6. Contributions
  7. Contributors
  8. How to contribute
  9. License
  10. Architecture
  11. Modelisation

1. Installation

1.1. Requirements

  • Ruby 2.0 or greater.
  • Postgresql server 9 or greater running with creditentials.

1.2. Initialization

Start by pasting this script in your shell:

cd MorningPeak/
gem install bundler
bundle install
cp config/database.yml.example config/database.yml
edit config/database.yml	# Configure your database connection first
rake db:create
rake db:migrate
rake db:seed				# will generate default data. Not on production ;)

1.3. Configuration

  • You can create a file .env to save your locals cvars without pollute your global env.
  • You can also create .env.production etc. for environement specifics cvars
  • A .env file looks like:
COMPANY: "Yolo production"
  • The application's specifics cvars are :

1.4. First start

When you done with the configuration of the database (editing config/database.yml), you can run the server by the following command :

rails s		# "-b -p 80" to test on internet :)

The server will be accessible via localhost:3000

Default creditentials are generated in the seed:

user> login: user@client.com , password: user2015
admin> login: admin@admin.admin , password: wir2015

Checkout for rails minidoc for a resume of rails.

2. Contributions

2.1. Contributors

  • Arthur Poulet : main developper, upstream (poulet_a) Look at this cute face

2.2. How to contribute ?

You can contribute to this project by Merge Request on the gitlab repository here. The best pratices are to create short commits, and short Merge Requests. Respect the git commit nomage convention as possible with:

  • title
  • description
  • concerned issues with "#id"

We accept any kind of work : translations, bug fix, additionnal features, optimizations, documentation, etc.

Don't be afraid !

2.3. License

see the license in the License file.

It is under:


3. Architecture

3.1 Modelisation

Creation and belongs

  • User has a Client (which is created when the user is created)
  • Client has many Contacts and Bills
  • User/Admin has many Tickets and Comments


  • Admin can Comment, Read, Edit, Delete, and Create everything
  • User can open Ticket, Anwser and Close them.
  • User can Read every Bills wich is associated to him
  • User can not read his client informations (like notes, ...)