Name: MSWD-Livelihood-Rizal-Palawan-Web-App
Version: 1.0.0
Status: Active Development
Repository: https://github.com/KNIGHTPROJEKS-0/MSWD-Livelihood-Rizal-Palawan-Web-App
A comprehensive digital platform for the Municipal Social Welfare and Development Office (MSWD) of Rizal, Palawan, designed to modernize and streamline social welfare program management across 11 barangays.
- Digital Transformation: Transition from manual to automated MSWD operations
- Enhanced Service Delivery: Faster processing and real-time updates for beneficiaries
- Data-Driven Insights: Analytics and reporting for informed decision-making
- Accessibility: Multi-platform support (web and mobile) with inclusive design
| Role | Responsibilities |
|---|---|
| Superadmin | System configuration, user management, comprehensive analytics |
| Admin (MSWD Staff) | Program oversight, application processing, beneficiary management |
| Beneficiary | Self-service registration, program applications, status tracking |
- Livelihood Programs: Financial assistance, skills training, business development
- Child & Youth Services: Daycare, development programs, protection services
- Family Support: Counseling, solo parent assistance, victim support
- Social Pension: Senior citizen and PWD support programs
- Emergency Response: Crisis intervention and disaster relief coordination
- Frontend: React 18 + Vite + TypeScript + Chakra UI (Web), Expo React Native (Mobile)
- Backend: FastAPI (Python 3.11+) + PostgreSQL 15+ + Redis 7+
- Authentication: Firebase Auth + JWT
- Storage: Firebase Storage
- Deployment: Railway, Render, Platform.sh
- DevOps: Docker, GitHub Actions, n8n Workflows
MSWD-Livelihood-Rizal-Palawan-Web-App/
βββ apps/ # Frontend Applications
β βββ web/ # React Web Application
β β βββ public/ # Static assets
β β βββ src/
β β β βββ components/ # Reusable UI components
β β β β βββ common/ # Shared components
β β β β βββ forms/ # Form components
β β β β βββ layout/ # Layout components
β β β β βββ ui/ # Base UI components
β β β β βββ webflow/ # Webflow integration
β β β βββ pages/ # Route page components
β β β β βββ auth/ # Authentication pages
β β β β βββ dashboard/ # Dashboard pages
β β β β βββ programs/ # Program-specific pages
β β β β βββ profile/ # User profile pages
β β β βββ services/ # API clients & Firebase
β β β β βββ api/ # Backend API client
β β β β βββ firebase/ # Firebase services
β β β β βββ webflow/ # Webflow API integration
β β β β βββ types/ # Service type definitions
β β β βββ store/ # State management (Zustand/Redux)
β β β βββ hooks/ # Custom React hooks
β β β βββ lib/ # Utility functions
β β β βββ theme/ # Chakra UI theme
β β β βββ types/ # TypeScript definitions
β β β βββ App.tsx # Root component
β β β βββ main.tsx # Application entry point
β β βββ vite.config.ts # Vite configuration
β β βββ tsconfig.json # TypeScript config
β β βββ package.json # Dependencies
β β
β βββ mobile/ # React Native Mobile App
β β βββ src/
β β β βββ components/ # Mobile UI components
β β β βββ screens/ # Screen components
β β β βββ navigation/ # Navigation configuration
β β β βββ services/ # API & Firebase services
β β β βββ types/ # Type definitions
β β βββ app.json # Expo configuration
β β βββ package.json # Dependencies
β β
β βββ webflow-extension/ # Webflow Designer Extension
β βββ src/index.ts # Extension logic
β βββ public/ # Extension UI
β βββ webflow.json # Extension config
β βββ package.json # Dependencies
β
βββ services/ # Backend Services
β βββ api/ # FastAPI Backend
β βββ app/
β β βββ api/v1/endpoints/ # API route handlers
β β β βββ auth.py # Authentication routes
β β β βββ users.py # User management
β β β βββ programs.py # Program management
β β β βββ applications.py # Application handling
β β β βββ admin.py # Admin operations
β β β βββ oauth.py # OAuth integration
β β βββ core/ # Core configuration
β β βββ db/ # Database configuration
β β βββ models/ # SQLAlchemy models
β β βββ schemas/ # Pydantic schemas
β β βββ services/ # Business logic
β β βββ utils/ # Utility functions
β β βββ tests/ # Test files
β β βββ main.py # FastAPI application entry
β βββ requirements.txt # Python dependencies
β βββ Dockerfile # Docker configuration
β βββ alembic.ini # Database migrations
β
βββ packages/ # Shared Packages
β βββ shared-types/ # Shared TypeScript types
β βββ utils/ # Shared utilities
β
βββ infra/ # Infrastructure Configuration
β βββ docker-compose.yml # Development environment
β βββ railway.json # Railway deployment config
β βββ render.yaml # Render deployment config
β
βββ .env.template # Environment template
βββ .env.railway # Railway environment template
βββ start-dev.sh # Development startup script
βββ deploy-railway.sh # Railway deployment script
βββ package.json # Root package scripts
- Node.js 18+
- Python 3.11+
- PostgreSQL 15+
- Redis 7+
- Docker & Docker Compose
# Clone repository
git clone https://github.com/KNIGHTPROJEKS-0/MSWD-Livelihood-Rizal-Palawan-Web-App.git
cd MSWD-Livelihood-Rizal-Palawan-Web-App
# Install dependencies
pnpm install
# Configure environment
cp .env.template .env
# Edit .env with your configuration
# Start development environment
./start-dev.sh
# Or manually:
docker compose up -d # Start PostgreSQL & Redis
cd apps/web && pnpm run dev # Start web app- Web Application: http://localhost:3000
- API Documentation: http://localhost:8000/docs
- API Health Check: http://localhost:8000/health
# Root level commands
pnpm install # Install all dependencies
pnpm run dev:web # Start web development server
pnpm run dev:api # Start API development server
pnpm run build:web # Build web application
pnpm run test # Run all tests
pnpm run lint # Run linting
pnpm run format # Format code
# Web app specific (apps/web/)
pnpm run dev # Start development server
pnpm run build # Build for production
pnpm run preview # Preview production build
pnpm run type-check # TypeScript type checking
# API specific (services/api/)
uvicorn app.main:app --reload # Start API server
pytest # Run API tests
alembic upgrade head # Run database migrations- Authentication: Email/Password, Google Sign-in
- Database: Firestore for real-time data
- Storage: Firebase Storage for file uploads
- Messaging: FCM for push notifications
- JWT token-based authentication
- Role-based access control (RBAC)
- API rate limiting
- CORS protection
- Input validation and sanitization
- Audit logging for all operations
# Install Railway CLI
npm install -g @railway/cli
# Deploy to Railway
./deploy-railway.sh- Render: Automated via
infra/render.yaml - Platform.sh: Configuration in
infra/platform.app.yaml - Docker: Use provided Dockerfiles
Key environment variables needed:
# Database
DATABASE_URL=postgresql://user:pass@host:port/db
REDIS_URL=redis://host:port
# Firebase
VITE_FIREBASE_API_KEY=your-api-key
VITE_FIREBASE_AUTH_DOMAIN=your-domain
VITE_FIREBASE_PROJECT_ID=your-project-id
# API
SECRET_KEY=your-secret-key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30# Frontend tests
cd apps/web
pnpm run test
# Backend tests
cd services/api
pytest
# E2E tests
pnpm run test:e2e- Unit tests for components and services
- Integration tests for API endpoints
- E2E tests for critical user flows
- Performance testing for scalability
- API health checks at
/health - Database connection monitoring
- Redis cache performance tracking
- Error logging and alerting
- User engagement metrics
- Program application statistics
- System performance monitoring
- Audit trail reporting
- Application Processing: Auto-notifications and status updates
- Beneficiary Management: Status change notifications and reporting
- Program Monitoring: Scheduled reports and deadline reminders
- Data Synchronization: Cross-system data consistency
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow TypeScript best practices
- Write tests for new features
- Use conventional commit messages
- Update documentation as needed
- Development Guide: DEVELOPMENT.md
- Deployment Guide: DEPLOYMENT.md
- Production Guide: PRODUCTION.md
- API Documentation: Available at
/docsendpoint - Railway Setup: RAILWAY_SETUP.md
- Database Connection: Check DATABASE_URL and ensure PostgreSQL is running
- Firebase Auth: Verify Firebase configuration and API keys
- CORS Errors: Check BACKEND_CORS_ORIGINS environment variable
- Build Failures: Clear node_modules and reinstall dependencies
- Check existing GitHub Issues
- Create new issue with detailed description
- Contact development team: [email protected]
- β Project setup and architecture
- β Authentication system
- β Basic CRUD operations
- β Database schema design
- π Program management system
- π Application processing workflow
- π Beneficiary dashboard
- π Admin panel
- π± Mobile application
- π€ AI-powered analytics
- π Blockchain integration
- π Advanced reporting
This project is licensed under the MIT License - see the LICENSE file for details.
- Email: [email protected]
- GitHub: KNIGHTPROJEKS-0
- Project Issues: GitHub Issues
This platform represents a significant step toward modernizing social welfare services in Rizal, Palawan, ensuring efficient, transparent, and accessible support for community members.
Last Updated: January 2025
Deployment Status: β
Ready for Production