Falcon
Distribution made for Charities. Powered by Drupal and React
Install / Use
/learn @systemseed/FalconREADME
This is a development repository for Falcon backend (powered by Drupal) and frontend (powered by Next.js). For quick demo or quick start of using Falcon you can use our one-command-install project Falcon Starter Kit.
Documentation
The usage documentation is available at https://falcon-platform.readthedocs.io/
Installation
Install Docker
You need to install Docker and Docker-compose. See https://docs.docker.com/install/ for details.
Make local environment
Open command line terminal, navigate to project root and run make install.
If you want to adjust local environment settings then first run make stop
and review the .env and .docker/docker-compose.override.yml files.
After that run make install.
Then you can stop your work by running make stop and continue by running
make up. To remove all the containers you can run make down.
Update local environment
If there were some changes in the upstream that render your local environment
settings out of date - you need to update the .env and
docker/docker-compose.override.yml files. There are 2 ways to do it - just
remove them and run any make command or review them manually and compare with
the sources:
.envfile comes from.env.default.docker/docker-compose.override.ymlcomes from.docker/docker-compose.override.default.yml.
Access the site
Backend: http://admin.docker.localhost (credentials: admin / admin)
Demo frontend (work in progress): http://frontend.docker.localhost
Production-ready installations
🛠 Work in progress!
We are working on a scaffolding tool for production-ready project installations.
Repository
This is a monorepo repository that contains:
- Falcon backend in
falconfolder. Drupal-based distribution. - Falcon.js in
falconjs/packages/falconfolder. A complementary React library for integrating Next.js frontend apps with Falcon backend. - Demo frontend in
falconjs/templates/defaultfolder. Frontend boilerplate with demo of Falcon features.
Releases
New code is automatically released after merge in master.
Latest releases are available here:
Falcon backend: https://packagist.org/packages/systemseed/falcon Falcon.js: https://www.npmjs.com/package/@systemseed/falcon
Commit messages
In order to make automated releases work, commit
messages should follow default semantic-release message format: https://semantic-release.gitbook.io/semantic-release/#commit-message-format
We recommend to use a tool like commitizen or a plugin like Git Commit Template for preparing informative commit messages.
Examples
Commit message that triggers a major release, i.e. 1.4.3 → 2.0.0
feat(backend): change all API endpoints to use new format.
BREAKING CHANGE: All API endpoints now use new output format.
Note that there is a comment that starts with BREAKING CHANGE: ! The rest of commit message does not matter.
Commit message that triggers a MINOR release, i.e. 1.4.3 → 1.5.0
feat(frontend): add routing support.
Commit message that triggers a PATCH release, i.e. 1.4.3 → 1.4.4
fix(frontend): timeout issue in routing package on 404 pages.
Commit message that does not trigger a release
docs(frontend): add routing package documentation.
Security
If you found a security issue, please immediately contact us at <a href="mailto:info@systemseed.com">info@systemseed.com</a>.
