Download the PHP package conceptte/testcrm without Composer

On this page you can find all versions of the php package conceptte/testcrm. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package testcrm

MiniCRM - Test exersise

Journey

During the development of this package, I focused on creating a clean and modular architecture that can be easily integrated into any Nette-based application. I wanted to demonstrate best practices in Nette development, such as using extensions, presenters, and repositories to keep the code organized and maintainable.

I went throwgh such opics as:

About the app

This package is built as a Nette extension, not as code mixed into the host app. That gives a few clear benefits:

Main gap of extension in current version:

Installation (Fast dockerized setup:)

I recomend to use the dockerized setup for quick testing. It includes a simple host app with the extension installed and configured, so you can see it in action right away. You can find it here: https://github.com/conceptte/testcrm-host.git

  1. Install

  2. Register in config:

  3. Add routes in app/Core/RouterFactory.php:

  4. Add assets to www/assets (temporary solution, should be improved in future):

  5. Create and seed database:

Basic simple structure:

Configuration

Extension configuration is done in config/minicrm.php

I decided to use PHP for configuration instead of NEON because it allows for more flexibility And Nette supports it : src/MiniCRMExtension.php:

You can easily swap out implementations or use real classes without needing a separate DI container configuration.

Routes:

Router is defined in src/Routing/RouterFactory.php. It makkes group of routes for the app and API.

Group of Frontend routes:

API routes group:

Database tables

schema.sql defines tables:

Foreign keys and indexes are set for performance and data integrity.

Presenters

I investigated and used native Nette functionality like:

Presenters use repository services, pagination control as dependencies injected by Nette DI container.

Repository layer

They provide methods to get data from the database and are used by presenters and API endpoints. Registered as services in extension config, so they can be injected and swapped if needed.

API

Get customers as JSON:

Response includes customer list and meta info:

Get single customer details:

Response includes customer info and some metadata:

Safety

Used Nette's built-in features to protect against common web vulnerabilities:


All versions of testcrm with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
nette/di Version ^3.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package conceptte/testcrm contains the following files

Loading the files please wait ...