A Work-In-Progress enterprise-grade ColdFusion demo application showcasing modern architecture, integration, security, privacy, and deployment best practices—targeted at clients such as the US Federal Government and mission-driven public-sector agencies.
ServePoint is a Social Services Case Management System designed for managing citizen cases at both federal and local government levels. It demonstrates ColdFusion's enterprise capabilities with a focus on security, privacy, and modern development practices.
For detailed design specifications and requirements, see DESIGN_NOTES.md.
For development notes, see DEV_NOTES.md.
- Platform: Adobe ColdFusion 2025. Lucee 6 support might happen in the future.
- Framework: ColdBox HMVC
- Data Layer: ColdFusion ORM (Hibernate)
- Testing: TestBox
- Containerization: Docker
- Frontend: Progressive Enhancement (React/Vue.js ready)
For comprehensive design specifications, architecture decisions, and implementation details, see DESIGN_NOTES.md.
Server setup, engine options (Lucee vs ColdFusion 2025), and related configuration are documented in DEV_NOTES.md.
UML use for this project is mostly exploratory. UML files/artifacts are found in the design/uml folder.
Mermaid is also exploratory. Files/artifacts in the design/mermaid folder.
- Docker and Docker Compose
- Clone the repository
git clone <repository-url> cd ServePoint
- Create a
.env.devfile- Copy from .env.example and set values for the database connection and any other required settings.
- Start the application stack with Docker (recommended)
From the project root (ServePointdirectory), run:
docker compose --env-file .env.dev -f docker/docker-compose.yml upThis builds the app image, starts the ColdFusion and local Postgres containers, and wires all environment variables from .env.dev. The compose stack gives you an isolated local database for development. For deployment to Render (remote database), see RENDER_DATABASE.md; Render builds from the Dockerfile only and does not use docker-compose.
- Access the application
- Application:
http://localhost:8080(or the port defined indocker-compose.yml)
- Application:
Tests live under tests/ and run in the browser against the app in Docker.
- Start the stack with Docker (see above) so the app is at
http://localhost:8080. - Open http://localhost:8080/tests/ in your browser. You’ll see the TestBox runner page.
- To run everything (including integration tests): click Run All. To run only some tests: expand the list and run the bundle or spec you want (e.g. the integration folder or a single spec file).
- On startup, ServePoint can automatically seed the database with an administrator user and sample data via the ORM.
- This behavior is controlled by the
SERVEPOINT_AUTO_SEEDenvironment variable:- If unset or blank, seeding runs by default.
- If set to one of
1,true,yes, oron(case-insensitive), seeding runs. - Any other value disables automatic seeding.
- In Docker, define
SERVEPOINT_AUTO_SEEDin your.env.devfile.