Skip to content

The Next-Generation Open-Source CRM Platform written with Laravel and Filament

License

Notifications You must be signed in to change notification settings

Relaticle/relaticle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Relaticle logo

The Next-Generation Open-Source CRM Platform

🌐 Website · 📚 Documentation · 🛣️ Roadmap


Companies view

Installation

Relaticle is a regular Laravel application; it's build on top of Laravel 12 / Filament 3 and uses Livewire / Tailwind CSS for the frontend. If you are familiar with Laravel, you should feel right at home.

In terms of local development, you can use the following requirements:

  • PHP 8.3 - with Postgres, GD, and other common extensions.
  • Node.js 16 or more recent.

If you have these requirements, you can start by cloning the repository and installing the dependencies:

git clone https://github.com/Relaticle/relaticle.git

cd relaticle

git checkout -b feat/your-feature # or fix/your-fix

Don't push directly to the main branch. Instead, create a new branch and push it to your branch.

Next, install the dependencies using Composer and NPM:

composer install

npm install

After that, set up your .env file:

cp .env.example .env

php artisan key:generate

Run the migrations:

php artisan migrate

Link the storage to the public folder:

php artisan storage:link

In a separate terminal, build the assets in watch mode:

npm run dev

Also in a separate terminal, run the queue worker:

php artisan queue:work

Finally, start the development server:

php artisan serve

Note: By default, emails are sent to the log driver. You can change this in the .env file to something like mailtrap.

Once you are done with the code changes, be sure to run the test suite to ensure everything is still working:

composer test

If everything is green, push your branch and create a pull request:

git commit -am "Your commit message"

git push

Visit github.com/Relaticle/relaticle/pulls and create a pull request.

Tooling

Relaticle uses a few tools to ensure the code quality and consistency. Of course, Pest is the testing framework of choice, and we also use PHPStan for static analysis. Pest's type coverage is at 100%, and the test suite is also at 100% coverage.

In terms of code style, we use Laravel Pint to ensure the code is consistent and follows the Laravel conventions. We also use Rector to ensure the code is up to date with the latest PHP version.

You run these tools individually using the following commands:

# Lint the code using Pint
composer lint
composer test:lint

# Refactor the code using Rector
composer refactor
composer test:refactor

# Run PHPStan
composer test:types

# Run the test suite
composer test:unit

# Run all the tools
composer test

Pull requests that don't pass the test suite will not be merged. So, as suggested on the Installation section, be sure to run the test suite before pushing your branch.

Git Hooks

Relaticle uses Git Hooks to ensure the code quality and consistency. The hooks are located in the .githooks directory, and you can enable them by running the following command:

git config core.hooksPath .githooks.

About

The Next-Generation Open-Source CRM Platform written with Laravel and Filament

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages