Requirements
Intake24 system has three main components:
- API server
- Admin application
- Survey application
Source code is written in Typescript and can be flexibly deployed to various environments. Source code also provides ansible roles for deployment to Ubuntu-based OS. Deployment section describes in detail how to use ansible scripts.
For manual deployment, there are few technical aspects to consider.
API Server
API Server requires Node.js runtime and couple of backend services.
Database
PostgreSQL is used as primary database engine. For more information about database and support of other engines, please see Database section.
Redis
Redis is used for cache
/ queue
/ rate-limit
/ session
services.
PDF generation
Puppeteer is used for PDF generation (Feedback generation). Make sure OS has all necessary components to run headless Chrome if PDF rendering is required.
Admin & Survey apps
Both Admin and Survey frontend applications are SPA (Single page application) written in Vue.js framework and built with Vite.
Both applications have identical build toolchain pipeline and can be deployed to:
- Same domain site as API Server - if relative path is configured, API server automatically registers the routes to serve the application within its context. Please see Configuration section for more details.
- Applications can be served directly by web server (Nginx, Apache). Or there are simple http server scripts to serve the applications. For different domain sites, CORS needs to be configured properly.
- 3rd party providers like e.g. AWS S3, Heroku, Netlify etc.
TIP
Please see Vite docs for more details how to deploy Vue.js applications.