Skip to content

Caligrafy is a modern MVC framework that leverages the powerful technologies that fuel each of the M (Model), the V (View) and the C (Controller). This framework integrates seamlessly with Vue JS to combine the best of PHP with the best of JS.

License

Notifications You must be signed in to change notification settings

DoryAzar/caligrafy

Repository files navigation

Caligrafy - A Web Application Framework For Novice Developers

Caligrafy Quill - the latest version of Caligrafy - is out! Check out all the features of Caligrafy Quill and how it integrates seamlessly with Vue.js

Get Caligrafy Quill


What is Caligrafy

Caligrafy is a new and modern MVC framework for PHP that was built from the ground up to provide easy and elegant ways for novice developers to build sophisticated and modern web applications. We've laid a solid foundation of security, social, e-commerce, analytics and machine learning features so that you focus your genius on your ideas.

Caligrafy bridges the power of server-side languages like PHP with the sophistication of client-side languages like Javascript to expose you to how the most advanced Web capabilities are built.

Requirements

  • PHP > 7.2
  • MySql > 5.6
  • curl, mbstring, openssl, mcrypt, gd, headers and redirect modules must be enabled in your servers

Quick Installation

  • Pull the code from github
  • run composer install to get all the dependencies needed
  • run php caligrafer.php initialize from the terminal to initialize the framework
  • You are good to go!
  • If the quick installation does not complete successfully, proceed with the manual installation

Manual Installation

  • Pull the code from github
  • create a .env file by copying the example cp .env.example .env
  • Change the values in .env file to match your local or production server settings
  • run composer install to get all the dependencies needed
  • make the folder /public/uploads/ writable if you intend to allow uploads in your application. You will need to run the command sudo chmod -R 777 /public/uploads
  • You are good to go!

For more advanced installation, check the documentation here

New in Caligrafy

  • Caligrafy now supports Face Detection and Recognition using faceapi framework by Vincent Muhler
  • Caligrafy now supports ChatBot Assistant using IBM Watson
  • Caligrafy now supports ACH payments
  • Caligrafy now supports API Authorization
  • Caligrafy can now support VueJS a progressive Javascript framework that helps you build powerful user interfaces

Why Caligrafy

1. Full-Stack Framework

Caligrafy is a full-stack framework that leverages the power of server-side languages such as PHP with the power of client-side languages such as Javascript to help you build powerful and sophisticated web applications.

2. MVC Architecture

Caligrafy is built with an MVC architecture pattern that separates the business logic from the presentation layers. The Caligrafy MVC established an arsenal of methods and features that ensure that the separation of concerns is maintained between business and presentation layers.

3. Modern Modular Librairies

Caligrafy comes pre-packaged with ready-to-use modern features. In few lines, you can start accepting credit card payments, ach payments, cryptocurrency payments, building chatbots and assistants. In one line of code, your application can have rich structured data and can be ready for social sharing. In no time, your application can have a REST-API exposed for third-party applications. And many others...

4. VueJS

Caligrafy supports VueJS as an alternative to using its template engine. VueJS complements Caligrafy in its ability to create powerful and nimble user experiences in the "View" layer of an MVC architecture. If you are a PHP developer, Caligrafy makes it easy for you to use VueJS. If you are a Javascript developer, Caligrafy makes it easy for you to not be overwhelmed by PHP.

5. AI and Machine Learning

Caligrafy integrates machine learning capabilities at its core to help you build artificial intelligence seemlessly into your application.

6. Template Engine

Caligrafy has a built-in and powerful template engine that can be used to create sophisticated user experiences easily.

7. Lightweight Syntax

Caligrafy is closer to bare-bone programming than other frameworks out there. While it delivers equivalent - if not more powerful - features, it is built from the ground up with developers in mind.

8. Documentation & Support

Caligrafy is committed to providing continuous support to its community of developers through an extensive online Documentation, Online video tutorials on its youtube channel, training courses on Udemy and live help through Slack, Facebook and Github.

Dependencies

This framework uses several third-party librairies that are included in the distribution

  • Phug (PHP Pug) is used for creating powerful HTML views and templates
  • GUMP Validation is used to provide an easy and painless data validation and filtering
  • dotEnv is used to provide the capability of setting up environment variables for both local and production servers
  • claviska/SimpleImage is used to provide the ability to do server-side manipulations on images
  • stripe/stripe-php is used for payment features
  • coinbase/coinbase-commerce is used for cryptopayment features

Documentation

Learning Caligrafy

We have created a rigorous documentation to help you understand the basics of the framework and to get you started as quickly as possible

  1. Getting Started

  2. Routing

  3. Request

  4. Models

  5. Relationships

  6. Validation

  7. Views

  8. Controllers

  9. Helpers, Forms & REST API

  10. Authentication

  11. Stripe & Cryptocurrency Payment

  12. Metadata & Rich Cards

  13. Search Referencing and Analytics

Caligrafy and Vue.js

Caligrafy is a modern MVC framework that leverages the powerful technologies that fuel each of the M (Model), the V (View) and the C (Controller). Vue.js is a modern and progressive Javascript framework that has been built from the ground up just like Caligrafy. Vue.js empowers you to create powerful and sophisticated Views. This framework integrates seamlessly with Vue.js to combine the best of PHP with the best of JS.

For prototyping and learning purposes

In this section, we cover the basics of a PHP developer could quickly use VueJS.

  1. Understanding the flow of information
  2. Understanding structure
  3. Routes
  4. Requests
  5. Forms
  6. Validations
  7. Components

For large scale application purposes

In order to build large scale applications using Vue, we need the ability to leverage the powerful capabilities of Vue such as Single Page Application (SPA) and Single File Components (SFC).

  1. Setting up the Vue application
  2. Routing for Single Page Applications
  3. Single File Components
  4. State Management

AI in Caligrafy

Caligrafy provides easy ways to include Artificial Intelligence and Machine Learning to offer features such as Bots, Face Detection and Recognition.

  1. Creating Bots with Watson
  2. Face Detection and Recognition

Learn through examples

  • Caligrafy is an outstanding framework for educational purposes. We constantly develop instructional video materials to illustrate the main features of the framework. Stay on the look for more video tutorials on our youtube channel. Caligrafy Video Channel

  • Projects built using Caligrafy

    • Postcart: Service that lets people sell stuff they own or make directly in a post from any social network

    • kickposter: Service that helps designers, makers, entrepreneurs and other creators fund their project ideas with the help of friends and family directly from a post on any social network

Connecting with the Caligrafy Community

There are several ways for the Caligrafy community to connect:

  • github: You can always use github to stay up to date with the roadmap of Caligrafy, to post issues and to track when feature requests and issues are done
  • slack: Joining our slack group is a great way to exchange with other members of the community, to get help on using the framework and to discuss any issues or features. Join our slack community
  • facebook Caligrafy Group: Joining our Caligrafy group on facebook gives you more ways to interact with the community and to share success stories. Join our facebook group

Learn Caligrafy

  • Caligrafy offers an online course that gives you all the basics that you need to create powerful applications with Caligrafy.

Need help getting started?

We are always here to help when you need us. If you need assistance getting started or if you need help understanding how Caligrafy can be useful to you, we can help. Reach out to us by joining our slack channel. Reach out to us

Keep Caligrafy going...

Your support keeps us going. If you like Caligrafy, there are several ways you could contribute:

  • Promote us: On our website, you can share our page with your friends and fans caligrafy.com
  • Sponsor us: You sponsor our work in multiple different ways on Github. Your contributions can help us keep our commitments to the developer community. Github Sponsorship
  • Fund our project: You can fund our project on Kickposter. Kickposter is an application that was built using earlier versions of Caligrafy.