A modern smart ecosystem for digitalizing citizen identity credentials, driving authorization parameters, and traffic compliance enforcement.
This project consists of three main components that work together:
- Mock Government APIs (PHP + MySQL in Docker)
- Spring Boot Backend (Java + separate MySQL DB)
- React Frontend (Vite SPA)
Follow these steps sequentially to launch the system:
The mock APIs simulate the Department of Registration of Persons (DRP) and the Department of Motor Traffic (DMT).
- Open a terminal and navigate to the mock API folder:
cd government-mock-apis - Start the Docker containers:
This starts DRP REST API at
docker compose up -d --build
http://localhost:8081, DMT REST API athttp://localhost:8082, and the MySQL database server.
The backend acts as the core traffic and asset engine, connecting to a separate database server.
- Open a new terminal and navigate to the backend folder:
cd backend - Start the separate database container for the application:
This launches the application database
docker compose up -d
app_mysqlrunning on port3307. - Run the Spring Boot application:
The backend will boot up, automatically create the schemas in
./mvnw spring-boot:run
digital_lanka_db, and listen onhttp://localhost:8080.
The civilian wallet web interface displaying smart e-NICs, driving logs, and traffic citation ledgers.
- Open a new terminal and navigate to the frontend folder:
cd UI/digital_lanka - Start the Vite development server:
npm run dev
- Open your browser and navigate to the local address:
http://localhost:5173
UI/digital_lanka/: React 19, Vite 8, Google Fonts, and Google Material Icons CDN.backend/: Spring Boot 3, Hibernate JPA, Spring Security, MySQL Connector.government-mock-apis/: Slim PHP mock containers simulating REST microservices.