DigiExpress-parent
Overview
DigiExpress is an all-in-one solution that covers a full range of organizational management requirements:
- Online data collection via customizable forms (Dialob)
- Business process automation to streamline workflows (theWrench)
- Content management: Creating end-user content and linking it with forms and services (the Stencil)
- User portal for providing content and forms to users (theStencil)
- Worker / employee front office portal for handing tasks, communicating with customers, etc.
- Task management system
- Access / user-rights management
- Audit trail for tracking user access to resources, tasks, etc.
Data is managed via Thena: a JSON storage framework with GIT-like features on top of a relational database.
Project structure: High level
mvn_setup: Backend projects built with Maven and released to Maven central repository https://central.sonatype.com/artifact/io.digiexpress/digiexpress-parentts_setup: Frontend components and UI service layerbazel_setup: Backend projects built with Bazel (under development)
Documentation
Contributing
- Contribution guidelines: Branch organisation, creating feature branches, creating issues, making pull requests
- How to report bugs
Licensing
DigiExpress is Apache 2.0 licensed.
Project Setup Guide
This project consists of three main applications: a Java backend and two TypeScript frontends. Below are the details on how to set up and run each component in the correct order.
Note for Windows users:
Docker setup may not work directly in native Windows environments. However, it works inside Windows Subsystem for Linux (WSL). If you encounter issues starting the database containers, try running the setup inside WSL.
1. Database Setup
Before starting the backend, make sure the database is up and running.
Navigate to the Docker setup directory:
cd mvn_setup/eveli-parent/eveli-local-dockerStart the Docker containers:
docker compose up
2. Backend (Java)
The Java Backend is the core of the project and handles all business logic and data processing.
To build and run the backend:
Build the project without running tests:
cd mvn_setup/ mvn clean install -DskipTestsNavigate to the
eveli-appdirectory and start the Spring Boot application:cd eveli-parent/eveli-app mvn spring-boot:run
3. Frontend Applications (TypeScript)
There are two TypeScript frontend applications:
Frontdesk (Eveli-IDE)
- This is the worker interface for managing tasks. It’s designed for officials to review, respond to, and make decisions on citizen-submitted applications via the Portal.
Portal (Gamut)
- This is the citizen interface for submitting applications, requests, or tasks. Citizens use Gamut to initiate processes that are later handled in Frontdesk.
To run either of the frontend applications:
- Node version used for installing and testing this was v22.5.1
- For Windows users, it is recommended to use WSL (Windows Subsystem for Linux) for development, as everything works as expected in that environment.
Navigate to the TypeScript setup folder:
cd ts_setupInstall the required dependencies:
pnpm installStart the development server:
pnpm run start-gamut # Portal (Gamut) pnpm run start-eveli # Frontdesk (Eveli-IDE)
4. Project Overview
- Eveli-IDE: Frontdesk interface for workers.
- Gamut: Portal interface for citizens.
- Backend: Java-based service handling core business logic and operations.