Skip to content

maninga/fat_free_crm

Repository files navigation

Fat Free CRM

TravisCI Dependency Status

An open source, Ruby on Rails customer relationship management platform (CRM).

Out of the box it features group collaboration, campaign and lead management, contact lists, and opportunity tracking.

Create Contacts
Contacts
Manage Opportunities
Opportunities
Edit Accounts
Accounts
Create Tasks
Tasks

Active development started in November 2008. New features, enhancements, and updates appear on regular basis.

Pull requests and bug reports are always welcome!

System Requirements

  • Ruby v1.8.7 or v1.9.2
  • MySQL v4.1.1 or later (v5+ is recommended), SQLite v3.4 or later, or Postgres 8.4.8 or later.
  • ImageMagick (optional, only needed if you would like to use avatars)

(Ruby on Rails v3 and other gem dependencies will be installed automatically by Bundler.)

Downloads

Upgrading from previous versions of Fat Free CRM

If you are upgrading from version 0.10.1 or below to the latest Rails 3.x version, your database schema needs to be updated.

Please run the following commands in this order:

bundle install --without heroku   # Installs gem dependencies
rake crm:upgrade:schema           # Updates your schema to use the new timestamped migrations
rake db:migrate                   # Runs any new database migrations.

Install on Heroku

You will need the heroku gem on your system.

gem install heroku

To set up Fat Free CRM on Heroku, run the following commands:

app_name="{{organization-crm}}" # <- Replace with your desired application name
heroku create $app_name --stack cedar
git push heroku master
heroku run rake crm:setup USERNAME=admin PASSWORD=admin EMAIL=admin@example.com
heroku config:add HEROKU=true

Install locally, or on a server

Set Up Configuration (Database & Settings)

Fat Free CRM supports PostGreSQL, MySQL and SQLite databases. The source code comes with sample database configuration files, such as: config/database.mysql.yml for MySQL and config/database.sqlite.yml for SQLite.

Based on your choice of database, create config/database.yml:

cp config/database.mysql.yml config/database.yml
  • Edit config/database.yml and specify database names and authentication details.

  • Then, edit your Gemfile and uncomment only your chosen database.

Install Gem Dependencies

After you have uncommented the right database adapter in your Gemfile, run the following command from the application's root directory:

bundle install --without heroku

Create Database

Now you are ready to create the database:

rake db:create

Configure Application (Optional)

You can configure Fat Free CRM settings, such as your host, base URL, language (locale), menu structures, default colors, and email authentication.

Fat Free CRM settings are stored in three places, and are loaded in the following order:

  1. config/settings.default.yml
  2. config/settings.yml (if exists)
  3. 'settings' table in database (if exists)

Settings loaded last have the highest priority, and override any settings from the previous sources.

To override any settings config/settings.default.yml, create a blank file at config/settings.yml. Copy the settings that you want to override from config/settings.default.yml, and configure the values. Finally, commit config/settings.yml to the git repo with the following commands:

git add -f config/settings.yml
git commit -m "Added config/settings.yml"

Example:

If all you want to do is change the language to French, your config/settings.yml file only needs to contain the following line:

:locale: "fr"

Set Up Admin User

Run the following rake task:

rake crm:setup

The previous command will prompt you for an admin user, password and email. If you want to run this task without any user input, you can set the following variables:

rake crm:setup USERNAME=admin PASSWORD=password EMAIL=admin@example.com

Load Demo Data (Optional)

You can test drive Fat Free CRM by loading sample records that are generated on the fly mimic the actual use.

IMPORTANT: Loading demo will delete all existing data from your database.

rake crm:demo:load

Among other things the demo generator creates 8 sample user records with the following usernames: aaron, ben, cindy, dan, elizabeth, frank, george, and heather. You can log in with any of these names using the name as password. The demo site at http://demo.fatfreecrm.com provides access as a sample user as well.

You can reset the database and reload demo data at any time by using:

rake crm:demo:reload

Run the App

Now you should be able to launch the Rails server and point your web browser to http://localhost:3000

rails server

Resources

Home page: http://www.fatfreecrm.com
Online demo: http://demo.fatfreecrm.com
Project page: http://github.com/michaeldv/fat_free_crm/tree/master
Features and bugs: http://fatfreecrm.lighthouseapp.com
Twitter commit updates: http://twitter.com/fatfreecrm
User's Google group: http://groups.google.com/group/fat-free-crm-users
Developer's Google group: http://groups.google.com/group/fat-free-crm-dev
IRC channel: #fatfreecrm on irc.freenode.net

For Developers

Fat Free CRM can be customized by implementing callback hooks and extended by creating Rails Engines plugins. Check out these sample repositories demonstrating the concepts:

License

Copyright (c) 2008-2011 by Michael Dvorkin. All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See LICENSE file for more details.

About

Ruby on Rails CRM platform for Web 2.0 and beyond

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 96.8%
  • JavaScript 2.9%
  • CoffeeScript 0.3%