Running this Lando setup will install a Drupal 8 site behind an apache server, a MariaDB, and a Node server sharing a development version of Create React App at :3333. This is a fully decoupled website developed using React.js for the frontend and Drupal CMS for the backend. Drupal’s user and sessions are still utilized for user identity management.
- Clone this repo.
- Run
lando startto build the containers. - Open your browser to
https://cms.event-calendar.lndo.site/and run a standard install. - Enable the GraphQL and other modules like Social Auth extra modules with
lando drush cimto import all the configurations - Create some Events in the Drupal site with path aliases.
- In a separate terminal window, run
lando npm startto begin the React development server. - If Articles exist, you should see them at
https://event-calendar.lndo.site/or a banner will appear with the error from the request.
The environment is setup with all of your Drupal code in the backend folder and the React code in the frontend folder.
Current Composer, Drush, Node, add npm are available and connected to their service.
This Drupal build uses the Drupal Composer structure, so all new modules should be added with lando composer require.
Drush is available for the Drupal build. To run a command like clear cache, use lando drush cr. Any default Drush command should be available using lando drush <command>
The Create React app is installed and run using Npm. Any Npm command can be run using npm <command>. For example, if you have stopped the development server and want to restart it, just use lando npm start.
The frontend utilizes the https://fullcalendar.io plugin for the calendar interface and that would come with an additional license cost for the full version. For the purposes of this site the free versions is sufficient.
GraphQL is used to serve up the Drupal data to the frontend interface. To enable GraphQL for the Drupal instance the graphQL module is used to serve up the Drupal content to the frontend. The GraphQL server for the backend is here:
Twilio API is used for user phone and email verification. An account would need to be made with Twilio and you API info will need to be saved here: