All Projects → tbreuss → pingcrm-yii2

tbreuss / pingcrm-yii2

Licence: BSD-3-Clause License
Ping CRM on Yii 2 - A Yii 2 demo application to illustrate how Inertia.js works.

Programming Languages

PHP
23972 projects - #3 most used programming language
Vue
7211 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to pingcrm-yii2

yii2-inertia
The Yii 2 server-side adapter for Inertia.js.
Stars: ✭ 52 (+33.33%)
Mutual labels:  yii2, inertiajs
yii2-rest-doc
Yii2 REST doc generator
Stars: ✭ 35 (-10.26%)
Mutual labels:  yii2
pingcrm-mithril
Ping CRM on Mithril.js - A mithril demo application to illustrate how Inertia.js works.
Stars: ✭ 22 (-43.59%)
Mutual labels:  inertiajs
yii2-telegram
Support chat for site based on Telegram bot
Stars: ✭ 49 (+25.64%)
Mutual labels:  yii2
filedb
ActiveRecord for static data definitions based on files
Stars: ✭ 72 (+84.62%)
Mutual labels:  yii2
awesome-yii2
Curated list of resources about using Yii2 - Yii is a high-performance component-based PHP framework.
Stars: ✭ 36 (-7.69%)
Mutual labels:  yii2
yii2-basic-firestarter
This is a pimped up basic yii2 template ❤️. It's a firestarter 🔥
Stars: ✭ 35 (-10.26%)
Mutual labels:  yii2
yii2-websocket
基于swoole的websocket
Stars: ✭ 31 (-20.51%)
Mutual labels:  yii2
Yii2-Youtube-Clone
Youtube clone made with Yii2 framework
Stars: ✭ 91 (+133.33%)
Mutual labels:  yii2
yii2-ajaxform
submit ActiveForm via ajax
Stars: ✭ 20 (-48.72%)
Mutual labels:  yii2
illuminate
Yii2 to Laravel Migration Package
Stars: ✭ 71 (+82.05%)
Mutual labels:  yii2
yii2-merit
Reputation engine for Yii2 用于实现积分,等级功能的设计
Stars: ✭ 16 (-58.97%)
Mutual labels:  yii2
RailsBooster
Pre-Configured Ruby On Rails Template To Provide Instant Productivity ⚡️
Stars: ✭ 22 (-43.59%)
Mutual labels:  inertiajs
yii2-tinymce
Yii2 extension, tinymce wysiwyg editor
Stars: ✭ 16 (-58.97%)
Mutual labels:  yii2
yii2-google-analytics
Google Analytics Universal tracking widget.
Stars: ✭ 14 (-64.1%)
Mutual labels:  yii2
yii2-cookiemonster
Yii extension to manage cookie warning
Stars: ✭ 16 (-58.97%)
Mutual labels:  yii2
yii2-dynamic-fields
Widget for display dynamic fields, adding and removing their using Pjax.
Stars: ✭ 52 (+33.33%)
Mutual labels:  yii2
yii2-db
Database extensions for Yii 2.0 Framework 📦
Stars: ✭ 19 (-51.28%)
Mutual labels:  yii2
yii2-time-down-counter
Widget for yii2, to start count down timer with a lot of options, This widget build dependence of timeDownCounter JS library
Stars: ✭ 15 (-61.54%)
Mutual labels:  yii2
yii2-facades
Facades for Yii 2
Stars: ✭ 21 (-46.15%)
Mutual labels:  yii2

Build & Deploy

Ping CRM on Yii 2

A Yii 2 demo application to illustrate how Inertia.js works.

With Inertia you are able to build single-page apps using classic server-side routing and controllers, without building an API.

This application is a port of the original Ping CRM written in Laravel and based on the Yii 2 Basic Project Template.

Demo

https://pingcrm-yii2.tebe.ch

Installation

Clone the repo locally:

git clone https://github.com/tbreuss/pingcrm-yii2 pingcrm-yii2
cd pingcrm-yii2

Install PHP dependencies:

composer install

Install NPM dependencies:

npm ci

Build assets:

npm run dev
npm run css-dev

Create an SQLite database. You can also use another database (MySQL, Postgres), simply update your configuration accordingly.

touch database/database.sqlite

Run database migrations:

php yii migrate

Run database seeder:

php yii db/seed

Run the dev server (the output will give the address):

php yii serve

You're ready to go! Visit Ping CRM in your browser, and login with:

Running tests

To run the Ping CRM tests, run:

(to be done)

Requirements

  • PHP >= 5.6.0
  • Node.js & NPM
  • SQLite

Extending this project

The following steps are required when extending this project with new features.

In the backend

  • add new controller, that extends from inertia controller
  • add one ore more actions
  • return from the actions with a call to the inertia render method
<?php

namespace app\controllers;

use tebe\inertia\web\Controller;

class CustomController extends Controller
{
    public function actionIndex()
    {
        $params = [
            'data' => [],
        ];
        return $this->inertia('demo/index', $params);
    }
}

You can find more information at https://github.com/tbreuss/yii2-inertia.

In the frontend

  • add a new page under resources/js/Pages for each controller action you added in the backend
  • copy&paste one of the existing page examples
  • implement and/or extend Vue.js stuff as needed
  • use frontend tooling as described here and in package.json

You can find more information at https://inertiajs.com.

Credits

  • Original work by Jonathan Reinink (@reinink) and contributors
  • Port to Yii 2 by Thomas Breuss (@tbreuss)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].