The Address Sync System is a microservice that simplifies updating address information across multiple agencies using Aadhaar as a unique identifier.
Users can request updates → agencies approve/reject → system syncs changes.
- Register/Login via Aadhaar
- View agencies
- Submit address update requests
- Track request status
- Cancel pending requests
- Register/Login
- View pending requests
- Approve/Reject requests
- Access request history
- Status tracking (Pending / Approved / Rejected / Cancelled)
- Filtering
- Stats dashboard
- Audit logs
- FastAPI
- SQLAlchemy
- SQLite / PostgreSQL
- JWT Auth
- Python 3.10+
- HTML, CSS, Vanilla JS
- Docker
- Docker Compose
- Git
Citizen → Request → Agency
↓ ↑
Status ← Approval
↓
Address Updated
- Python 3.10+
- Docker & Docker Compose
- Git
- curl
git clone https://github.com/yourusername/address-sync-system.git
cd address-sync-systemcd backend
docker-compose up -d --build
docker-compose logs -f
docker-compose downcd backend
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install -r requirements.txt
mkdir data staticCreate .env:
DATABASE_URL=sqlite:///./data/address_sync.db
SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8000Run:
uvicorn main:app --reload| Service | URL |
|---|---|
| App | http://localhost:8000 |
| Docs | http://localhost:8000/docs |
| ReDoc | http://localhost:8000/redoc |
| Aadhaar | Name | Password |
|---|---|---|
| 123456789012 | Rajesh Kumar | Rajesh@1234 |
| ID | Name |
|---|---|
| municipal_bangalore | Bangalore MC |
# Health
curl http://localhost:8000/health
# Register
curl -X POST http://localhost:8000/users/register \
-H "Content-Type: application/json" \
-d '{"aadhaar_number":"123456789012","password":"Test@123"}'- POST
/users/register - POST
/users/login - GET
/users/me
- POST
/agencies/register - POST
/agencies/login
- POST
/requests/create - GET
/requests/my-requests - PUT
/requests/{id}
{
"aadhaar_number": "string",
"name": "string",
"email": "string",
"current_address": "string"
}{
"id": "uuid",
"status": "pending | approved | rejected"
}DATABASE_URL=sqlite:///./data/address_sync.db
SECRET_KEY=secret
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=1440services:
backend:
build: ./backend
ports:
- "8000:8000"python test_full_api.pyrailway up- Build:
pip install -r requirements.txt - Start:
uvicorn main:app --host 0.0.0.0 --port $PORT
lsof -i :8000
kill -9 PIDsudo systemctl start dockergit checkout -b feature/new-feature
git commit -m "Add feature"
git push origin feature/new-featureMIT License
- FastAPI
- SQLAlchemy
- Docker
- GitHub Issues
- Docs
- Community
Made with ❤️
