Core delivery platform Node.js Frontend Template.
Please install Node.js >= v18
and npm >= v9
. You will find it
easier to use the Node Version Manager nvm
To use the correct version of Node.js for this application, via nvm:
cd fcp-hello-world
nvm use
Redis is an in-memory key-value store. Every instance of a service has access to the same Redis key-value store similar to how services might have a database (or MongoDB). All frontend services are given access to a namespaced prefixed that matches the service name. e.g. my-service
will have access to everything in Redis that is prefixed with my-service
.
Redis has been enabled in newly created services by setting the redis.enabled
property to true
. If your service does not require a session cache to be shared between instances or if you don't require Redis, you can disable Redis by setting this property to false
.
We use Catbox for server-side caching. Specifically CatboxRedis, the Redis adapter for CatBox. It is important that in memory caching isn't used for server-side caching as this will cause issues when there is more than one instance of your service running. Server-side caching has been enabled in newly created services by setting the redis.enabled
property to true
. Please see Redis for more information.
Install application dependencies:
npm install
To run the application in development
mode run:
npm run dev
Whilst the APIs are being developed this app uses a local JSON mock API. To start this locally run:
npm run mockApi
To mimic the application running in production
mode locally run:
npm start
All available Npm scripts can be seen in package.json To view them in your command line run:
npm run
If you are having issues with formatting of line breaks on Windows update your global git config by running:
git config --global core.autocrlf false
Build:
docker build --target development --no-cache --tag fcp-hello-world:development .
Run:
docker run -p 3000:3000 fcp-hello-world:development
Build:
docker build --no-cache --tag fcp-hello-world .
Run:
docker run -p 3000:3000 fcp-hello-world
A local environment with:
- Localstack for AWS services (S3, SQS)
- Redis
- MongoDB
- This service.
- A commented out backend example.
docker compose up --build -d
THIS INFORMATION IS LICENSED UNDER THE CONDITIONS OF THE OPEN GOVERNMENT LICENCE found at:
http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3
The following attribution statement MUST be cited in your products and applications when using this information.
Contains public sector information licensed under the Open Government license v3
The Open Government Licence (OGL) was developed by the Controller of Her Majesty's Stationery Office (HMSO) to enable information providers in the public sector to license the use and re-use of their information under a common open licence.
It is designed to encourage use and re-use of information freely and flexibly, with only a few conditions.