Hackerspace CRM (Community Relationship Management) is a web application built with Laravel that helps communities around the world to run and manage their Hackerspaces/Makerspaces.
- Technologies used
- Laravel PHP framework
My friends and I run Prishtina Hackerspace (a hackerspace in Kosovo), and since the beginning of it we always struggled finding the best solution to manage members, payments, keys, etc. I'm not trying to reinvent the wheel, we tried many different applications but I think we need a better solutions for this. I think that many hackerspaces face the same problem when dealing with 30+ members. I know all hackerspaces have different structures, but we could maybe boil down to something common and useful for all of us.
There are many open source CRM software out there like CiviCRM and such (paid ones as well) that actually do have more functionality in them but are hard to use because of their complexity.
Hackerspace CRM tends to be more user friendly and come to use only to Hackerspaces. The idea is to have most of the application parameters configurable via the administrator panel. The application should be modular so that other hackerspaces around the world can write their own specific functionalities. Anyone can write a theme for it or even localize the CRM for use in their own language.
So far, I’ve thought of couple of features, most of which I liked in Seltzer CRM, and some that I thought might be useful based on my experience with Prishtina Hackerspace and some local hackerspaces in Balkans. But, in order for this CRM to be as good as it can (and obviously better than the existing solutions), I need your help to let me know what do you struggle with, and what would you need to have in such application? How do you process this kind of stuff, what services you use and what would be the easiest way to complete your hackerspace administrative tasks via this CRM.
So far this is what I came up with (call them modules or simply features): The following need to be more detailed (will document them more soon)
- Membership Plans
- Membership reports
- Expenses reports
- Space Frequentation (part of door access control and checkin system)
- Transactions (income and expenses)
- Billing (charge members / run billing)
- Online Payment (Pay membership dues with Stripe/Paypal)
- RFID Cards
- Alarm Pins
- Door access Control and Checkin System (API for Raspberry pi/Arduino based solution)
I would very much appreciate and love any contribution! I encourage you to create a new personal branch after you fork this repository. This branch should be used for content and changes that are specific to your use. However, anything you are willing to push back should be updated in your develop branch, since there is still no stable release (master branch) of this application yet.
Please feel free to check the issues page. I'd love to see any contributions in issues listed there:
Technologies used (planed to be used)
- Laravel PHP Framework
- MySQL database management system
- BootStrap front-end Framework + Admin LTE control panel and dashboard theme (for the default theme).
- Stripe API for payments over internet (in later versions as module)
- Paypal API for payments over internet (in later versions as module)
Hardware for developing the Checkin System and Door Access control System (in later versions as module):
- Python for managing the GPIO ports and the functionality
- 2x16 LCD Screen
- Electric door strike
- RFID reader and cards
- Memcached (php5-memcached and memcached)
Cloning the Repository
Clone this project into your working directory.
$ git clone https://github.com/altinukshini/hackerspacecrm.git Cloning into 'hackerspacecrm'... remote: Counting objects: 2741, done. remote: Compressing objects: 100% (161/161), done. remote: Total 2741 (delta 85), reused 0 (delta 0), pack-reused 2579 Receiving objects: 100% (2741/2741), 6.94 MiB | 1.26 MiB/s, done. Resolving deltas: 100% (1423/1423), done. Checking connectivity... done.
Installing Composer Dependencies
$ composer install
You will need to make a copy of the example environment configuration schema and enter your own details into.
$ cp .env.example .env
Now fill up the DB_ and MAIL_ variables with your details.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=hackerspacecrm DB_USERNAME=username DB_PASSWORD=password MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAMEemail@example.com MAIL_PASSWORD=password MAIL_ENCRYPTION=tls MAIL_FROM='Hackerspace CRM'
Generate application key
From the project directory, run the following command.
$ php artisan key:generate
You will need to edit the config/hackerspacecrm.php config file and enter your own details into. Please pay attention to the variable comments and follow the instructions in that file.
To run migrations, make sure you are in the root directory for the project and run the following:
$ php artisan migrate
To run database seeds, make sure you are in the root directory for the project and run the following:
$ php artisan db:seed
To start the server, make sure you are in the root directory for the project and run the following:
$ php artisan serve
Laravel PHP Framework
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching.
Laravel is accessible, yet powerful, providing tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.
Documentation for the framework can be found on the Laravel website.
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the Laravel documentation.
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell at firstname.lastname@example.org. All security vulnerabilities will be promptly addressed.
The Laravel framework is open-sourced software licensed under the MIT license.