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.
The usage documentation is available at https://falcon-platform.readthedocs.io/
You need to install Docker and Docker-compose. See https://docs.docker.com/install/ for details.
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
.
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:
.env
file comes from.env.default
.docker/docker-compose.override.yml
comes from.docker/docker-compose.override.default.yml
.
Backend: http://admin.docker.localhost
(credentials: admin
/ admin
)
Demo frontend (work in progress): http://frontend.docker.localhost
🛠 Work in progress!
We are working on a scaffolding tool for production-ready project installations.
This is a monorepo repository that contains:
- Falcon backend in
falcon
folder. Drupal-based distribution. - Falcon.js in
falconjs/packages/falcon
folder. A complementary React library for integrating Next.js frontend apps with Falcon backend. - Demo frontend in
falconjs/templates/default
folder. Frontend boilerplate with demo of Falcon features.
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
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.
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.
If you found a security issue, please immediately contact us at info@systemseed.com.