MorningPeak/README.md

4.1 KiB

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

Summary

  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"
LOCALE: fr
...
  • The application's specifics cvars are :
    • COMPANY

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 0.0.0.0 -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:

GNU GENERAL PUBLIC LICENSE

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

Permissions

  • 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, ...)