# Ghana Police Service Recruitment Portal
A comprehensive, production-ready recruitment portal system built with React.js, Next.js, Node.js, Express.js, and PostgreSQL.
## ποΈ Architecture
```
ghana-police-recruitment-portal/
βββ apps/
β βββ backend/ # Express.js API (localhost:5000)
β βββ frontend/ # Next.js Applicant Portal (localhost:3000)
β βββ admin/ # Next.js Admin Dashboard (localhost:3002)
βββ shared/ # Shared utilities
βββ scripts/ # Deployment scripts
```
## π Quick Start
### Prerequisites
- Node.js v18+
- pnpm v8+
- PostgreSQL 15+
- Redis 7+
### Installation
```bash
# Clone and install
cd ghana-police-recruitment-portal
pnpm install
# Start PostgreSQL and Redis (via Docker)
docker-compose up -d
# Copy environment files
cp apps/backend/.env.example apps/backend/.env
# Run database migrations
cd apps/backend && npm run migrate
# Start all services
cd ../.. && pnpm dev
```
### Access URLs
- **Frontend**:
localhost
- **Admin Portal**:
localhost
- **API**:
localhost
## π€ Super Admin
Initialize the super admin account:
```bash
curl -X POST
localhost
```
Login credentials:
- Email: `boneforgames@gmail.com`
- Password: ``
## π Features
### Phase 1 (Complete)
- β
Project structure and configuration
- β
Database schema with migrations
- β
Express.js API with middleware
- β
JWT authentication
- β
Redis caching
- β
WebSocket real-time updates
- β
Frontend homepage with animations
- β
Admin login page
### Upcoming Phases
- Phase 2: Full authentication system
- Phase 3: Voucher system
- Phase 4: Multi-step application forms
- Phase 5-13: Complete features
## π Security
- JWT token authentication
- Password hashing with bcrypt
- Rate limiting
- CORS configuration
- Input sanitization
- File upload validation
## π License
Proprietary - Ghana Police Service