This repository houses the code, configuration and deployment configs necessary for deploying a fully functional DIGIT Citizen Complaint Resolution System (CCRS).
Below diagram shows the high level architecture of the CCRS solution:
For more details on the solution architecture, please refer to the Architecture section on this site.
- The
backendfolder contains the complaints backend service - The
frontendfolder contains the frontend code for the complaints service - The
configsfolder contains all DIGIT configuration files for the 2.9 LTS platform & the complaints solution to work - The
devopsfolder contains the 1-click installer will all requisite Helm charts for the 2.9 LTS platform & the CCRS solution. - The
utilitiesfolder contains thedata-handlerservice. This service loads all the default master data (present underresourcesfolder) required for the CCRS solution to work out of the box. The default master data is only indicative, provided for ease-of-setup and use in development environments.
TBD
---- 25 March 26 : Local Deployment ---- What we did today → What PR #7 contains
┌───────────────────────────────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Task │ PR #7 │
├───────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Fix _update_citymodule_db — broken psql -v variable syntax replaced with direct SQL │ ✅ local-setup/jupyter/dataloader/crs_loader.py lines 548-575 │
│ string escaping │ │
├───────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Auto-add new tenant to PGR/HRMS citymodule when load_tenant() is called │ ✅ utilities/crs_dataloader/crs_loader.py — new _enable_module_for_tenant() + _update_citymodule_db() called after │ ─
│ │ tenant creation │
├───────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Default password eGov@123 for employees missing a password from Excel │ ✅ Both files — Fix 2 block │
├───────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Fix 1: Restore original usernames from Excel (unified_loader was stripping underscores) │ ✅ local-setup/jupyter/dataloader/crs_loader.py │
├───────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Fix 3: Force password update via HRMS _update for both new + existing employees │ ✅ local-setup/jupyter/dataloader/crs_loader.py │
├───────────────────────────────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ REQUEST_TIMEOUT = 30 constant added to utilities version │ ✅ │
└───────────────────────────────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
In one line: PR #7 ensures that when a tenant is created it's automatically registered in PGR/HRMS citymodule (no more manual DB edits), employees always get eGov@123 as a fallback password, and the DB update SQL actually works now.