liberu-crm/crm-laravel

The skeleton application for the Laravel framework.

Fund package maintenance!
laravel-liberu

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 40

Watchers: 2

Forks: 13

Open Issues: 9

Type:project

dev-main 2024-10-18 02:00 UTC

This package is not auto-updated.

Last update: 2024-11-20 19:47:01 UTC


README

Dependencies

This project uses the following key dependencies:

To install the Mailchimp Marketing PHP SDK, run:

composer require mailchimp/marketing

Make sure to set up your Mailchimp API key and server prefix in your environment configuration.

Jetstream Socialite License: MIT

Install Tests Docker

Hosted application packages

Our Projects

Setup

  1. Ensure your environment is set up with PHP 8.3 and Composer installed.
  2. Download the project files from this GitHub repository.
  3. Open a terminal in the project folder. If you are on Windows and have Git Bash installed, you can use it for the following steps.
  4. Run the following command:
./setup.sh

and everything should be installed automatically if you are using Linux you just run the script as you normally run scripts in the terminal.

NOTE 1: The script will ask you if you want to have your .env be overwritten by .env.example, in case you have already an .env configuration available please answer with "n" (No).

NOTE 2: This script will run seeders, please make sure you are aware of this and don't run this script if you don't want this to happen.

composer install
php artisan key:generate
php artisan migrate --seed

This will install the necessary dependencies, generate an application key, and set up your database with initial data.

NOTE 3: Ensure your .env file is correctly configured with your database connection details before running migrations.

Building with Docker

Alternatively, you can build and run the project using Docker. To build the Dockerfile, follow these steps:

  1. Ensure you have Docker installed on your system.
  2. Open a terminal in the project folder.
  3. Run the following command to build the Docker image:
    docker build -t crm-laravel .
    
  4. Once the image is built, you can run the container with:
    docker run -p 8000:8000 crm-laravel
    

NOTE 3: Ensure your .env file is correctly configured with your database connection details before running migrations.

Using Laravel Sail

This project also includes support for Laravel Sail, which provides a Docker-based development environment. To use Laravel Sail, follow these steps:

  1. Ensure you have Docker installed on your system.
  2. Open a terminal in the project folder.
  3. Run the following command to start the Laravel Sail environment:
    ./vendor/bin/sail up
    
  4. Once the containers are running, you can access the application at http://localhost.
  5. To stop the Sail environment, press Ctrl+C in the terminal.

For more information on using Laravel Sail, refer to the official documentation.

Description

Welcome to Liberu CRM, our innovative open-source project that reimagines Contact Relationship Management with the power of Laravel 11, PHP 8.3, Livewire 3, and Filament 3. Liberu CRM isn't just a tool for managing contacts; it's a dynamic platform designed to foster meaningful connections, streamline interactions, and elevate the way relationships are nurtured and maintained.

Key Features:

  1. Seamless Contact Management: Liberu CRM offers a user-friendly interface for efficient contact management. From customer profiles to lead tracking, our project ensures that every interaction is captured, organized, and easily accessible.

  2. Dynamic Livewire Interactions: Built on Laravel 11 and PHP 8.3, Liberu CRM integrates Livewire 3 for dynamic and real-time interactions. Enhance your communication and collaboration by updating contact information, notes, and activities in real time.

  3. Efficient Admin Panel: Filament 3, our admin panel built on Laravel, provides administrators with powerful tools to manage users, customize settings, and oversee the entire contact ecosystem. Ensure that your CRM operates seamlessly, adapting to your organization's evolving needs.

  4. Customizable Forms: Tailor contact forms to capture specific information relevant to your business or industry. Liberu CRM empowers users to create custom forms that align with their unique requirements, ensuring comprehensive data collection.

  5. Task and Activity Tracking: Stay organized with Liberu CRM's task and activity tracking features. Manage appointments, follow-ups, and deadlines efficiently, ensuring that important engagements are never overlooked.

  6. RESTful API for Third-Party Integrations: Liberu CRM now includes a powerful RESTful API that allows seamless integration with third-party applications. This feature enables developers to build custom solutions and extend the functionality of the CRM system.

Liberu CRM is open source, released under the permissive MIT license. We invite businesses, developers, and organizations to contribute to the evolution of Contact Relationship Management. Together, let's redefine the standards of relationship-building and create a platform that adapts to the unique needs of every user.

Welcome to Liberu CRM – where innovation meets connection, and the management of meaningful relationships is at the forefront. Join us on this journey to transform the way we cultivate and nurture connections in the digital age.

Licensed under MIT, use for any personal or commercial project.

Contributions

We warmly welcome new contributions from the community! We believe in the power of collaboration and appreciate any involvement you'd like to have in improving our project. Whether you prefer submitting pull requests with code enhancements or raising issues to help us identify areas of improvement, we value your participation.

If you have code changes or feature enhancements to propose, pull requests are a fantastic way to share your ideas with us. We encourage you to fork the project, make the necessary modifications, and submit a pull request for our review. Our team will diligently review your changes and work together with you to ensure the highest quality outcome.

However, we understand that not everyone is comfortable with submitting code directly. If you come across any issues or have suggestions for improvement, we greatly appreciate your input. By raising an issue, you provide valuable insights that help us identify and address potential problems or opportunities for growth.

Whether through pull requests or issues, your contributions play a vital role in making our project even better. We believe in fostering an inclusive and collaborative environment where everyone's ideas are valued and respected.

We look forward to your involvement, and together, we can create a vibrant and thriving project. Thank you for considering contributing to our community!

Testing

Run php artisan test to execute the test suite, including Twilio integration tests.

License

This project is licensed under the MIT license, granting you the freedom to utilize it for both personal and commercial projects. The MIT license ensures that you have the flexibility to adapt, modify, and distribute the project as per your needs. Feel free to incorporate it into your own ventures, whether they are personal endeavors or part of a larger commercial undertaking. The permissive nature of the MIT license empowers you to leverage this project without any unnecessary restrictions. Enjoy the benefits of this open and accessible license as you embark on your creative and entrepreneurial pursuits.

API Integration

Liberu CRM now includes a RESTful API for third-party integrations. This API allows developers to interact with the CRM system programmatically, enabling seamless integration with other applications and services.

Key Features of the API:

  • Secure authentication using Laravel Sanctum
  • CRUD operations for contacts, deals, and tasks
  • Versioned API endpoints (currently at v1)
  • Comprehensive documentation for easy integration

For detailed information on how to use the API, please refer to the API Documentation.

Twilio Integration

Setup

  1. Sign up for a Twilio account at https://www.twilio.com/
  2. Obtain your Twilio Account SID, Auth Token, and a Twilio phone number
  3. Add the following environment variables to your .env file:
TWILIO_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_auth_token
TWILIO_PHONE_NUMBER=your_twilio_phone_number
TWILIO_TWIML_APP_SID=your_twiml_app_sid
TWILIO_WEBHOOK_URL=https://your-app-url.com/twilio/webhook
  1. Run php artisan migrate to create the necessary database tables for call logging

Features

  • Make outbound calls directly from the CRM interface

  • Receive inbound calls and route them to the appropriate agent

  • Click-to-call functionality for contact phone numbers

  • Automatic call logging for all inbound and outbound calls

  • Call recording capabilities

  • Add notes to call logs for future reference

Usage

To use the Twilio integration:

  1. Navigate to a contact's profile
  2. Click on the "Call" button next to their phone number
  3. Use the call management interface to control the call, start/stop recording, and add notes
  4. After the call, view the call log in the contact's activity timeline

Advertising Account Management

Liberu CRM now includes powerful tools for managing advertising accounts across multiple platforms.

Supported Platforms

  • Google Ads
  • Facebook Ads
  • LinkedIn Ads
  • Instagram Ads

Features

  • Connect and manage multiple advertising accounts
  • View and manage campaigns across different platforms
  • Track key performance metrics (impressions, clicks, conversions)
  • Integrate ad performance data with CRM data for enhanced insights

Setup

  1. Configure the necessary API credentials for each platform in your .env file:
GOOGLE_ADS_CLIENT_ID=your_google_ads_client_id
GOOGLE_ADS_CLIENT_SECRET=your_google_ads_client_secret
GOOGLE_ADS_DEVELOPER_TOKEN=your_google_ads_developer_token

FACEBOOK_APP_ID=your_facebook_app_id
FACEBOOK_APP_SECRET=your_facebook_app_secret

LINKEDIN_CLIENT_ID=your_linkedin_client_id
LINKEDIN_CLIENT_SECRET=your_linkedin_client_secret
  1. Run php artisan migrate to create the necessary database tables for advertising accounts

Usage

  1. Navigate to the Advertising Accounts section in the CRM
  2. Add a new advertising account by selecting the platform and entering the required credentials
  3. Once connected, you can view and manage campaigns, ad sets, and ads directly from the CRM interface
  4. Use the Ad Performance dashboard to track key metrics across all your advertising accounts

For more detailed information on using the advertising account management features, please refer to the user guide in the docs folder.

CRM Laravel

Task Management System

The CRM now includes a robust task management system that allows users to create, assign, and track tasks related to contacts and leads. Key features include:

  • Create tasks associated with contacts or leads
  • Assign tasks to users
  • Set due dates and reminders for tasks
  • Mark tasks as complete or incomplete
  • Filter and search tasks
  • Receive notifications for task reminders

Using the Task Management System

  1. To create a new task, navigate to the Tasks page and click on "Create New Task".
  2. Fill in the task details, including name, description, due date, and optional reminder date.
  3. Associate the task with a contact or lead if applicable.
  4. Assign the task to a user.
  5. Tasks can be edited, marked as complete/incomplete, or deleted from the task list.
  6. Use the search and filter options to find specific tasks.

Task Reminders

Task reminders are sent automatically based on the reminder date set for each task. Reminders are sent to:

  • The assigned user
  • The associated contact or lead (if applicable)

Ensure that your email settings are configured correctly to receive these notifications.

Development

To set up the project for development:

  1. Clone the repository
  2. Install dependencies: composer install
  3. Set up your .env file
  4. Run migrations: php artisan migrate
  5. Seed the database (if applicable): php artisan db:seed
  6. Start the development server: php artisan serve

Running Tests

To run the test suite:

php artisan test

This will run all feature and unit tests, including the new tests for the task management system.

Contributing

Please refer to our contributing guidelines for information on how to propose changes and improvements to the CRM.