A modern, secure platform for housing societies in India to manage their communities efficiently.
- React Native with Expo - Cross-platform (iOS, Android, Web)
- TypeScript - Type safety
- Zustand - State management
- React Navigation - Navigation
- Socket.IO Client - Real-time updates
- Node.js with Express - API server
- TypeScript - Type safety
- PostgreSQL - Primary database
- Redis - Caching, OTP storage, rate limiting
- Socket.IO - Real-time WebSocket server
- Bull - Background job processing
- Docker - Containerization
- AWS/Railway - Deployment
- GitHub Actions - CI/CD
dwaar/
├── mobile/ # React Native Expo app
│ ├── src/
│ │ ├── screens/ # Screen components
│ │ ├── components/ # Reusable components
│ │ ├── navigation/ # Navigation config
│ │ ├── services/ # API services
│ │ ├── stores/ # Zustand stores
│ │ ├── hooks/ # Custom hooks
│ │ ├── utils/ # Utilities
│ │ └── types/ # TypeScript types
│ ├── app.json
│ └── package.json
│
├── backend/ # Node.js Express server
│ ├── src/
│ │ ├── routes/ # API routes
│ │ ├── controllers/ # Route handlers
│ │ ├── services/ # Business logic
│ │ ├── models/ # Database models
│ │ ├── middleware/ # Express middleware
│ │ ├── jobs/ # Background jobs
│ │ ├── websocket/ # Socket.IO handlers
│ │ ├── utils/ # Utilities
│ │ └── types/ # TypeScript types
│ ├── prisma/ # Database schema
│ └── package.json
│
├── docker-compose.yml
└── README.md
- Node.js 18+
- Docker & Docker Compose
- Expo CLI (
npm install -g expo-cli)
- Clone and install dependencies:
cd dwaar
npm run install:all- Start infrastructure (PostgreSQL + Redis):
docker-compose up -d postgres redis- Set up environment variables:
cp backend/.env.example backend/.env
cp mobile/.env.example mobile/.env
# Edit the .env files with your credentials- Run database migrations:
cd backend && npx prisma migrate dev- Start the backend:
cd backend && npm run dev- Start the mobile app:
cd mobile && npm startDATABASE_URL=postgresql://user:pass@localhost:5432/dwaar
REDIS_URL=redis://localhost:6379
JWT_SECRET=your-secret-key
JWT_REFRESH_SECRET=your-refresh-secret
MSG91_AUTH_KEY=your-msg91-key
MSG91_SENDER_ID=DWAAR
MSG91_TEMPLATE_ID=your-template-id
API_URL=http://localhost:3000
WS_URL=ws://localhost:3000
See DEPLOYMENT.md for production deployment instructions.
Proprietary - All rights reserved