platform connecting employers with university students in Ethiopia for temporary jobs. The platform should focus on serious, structured, and trustworthy job postings. Students can apply easily, employers manage applicants, and admin approves posts and payments.
# Student Temporary Job Platform (Ethiopia)
A web-based platform connecting employers with university students in Ethiopia for temporary jobs.
## Project Overview
UniTask Ethiopia enables:
- **Employers** to post temporary jobs, verify payments, and manage applicants
- **Students** to find flexible work opportunities matching their skills
- **Admins** to approve jobs, verify payments, and manage the platform
## Tech Stack
### Backend
- **Node.js** + **Express.js** - RESTful API server
- **MongoDB** + **Mongoose** - Database
- **JWT** - Authentication
- **Multer** - File uploads
- **node-cron** - Scheduled job expiration
- **moment-timezone** - Ethiopian timezone support (Africa/Addis_Ababa)
### Frontend
- **React 18** - UI library
- **Vite** - Build tool
- **TailwindCSS** - Styling
- **React Router** - Navigation
- **Axios** - API requests
- **Lucide React** - Icons
- **date-fns** - Date formatting
## Project Structure
```
student-job-platform/
├── backend/
│ ├── config/ # Database configuration
│ ├── controllers/ # Request handlers
│ ├── jobs/ # Scheduled tasks
│ ├── middleware/ # Auth & upload middleware
│ ├── models/ # Mongoose models (User, Job, Application)
│ ├── routes/ # API routes
│ ├── .env.example # Environment variables template
│ ├── package.json
│ └── server.js # Entry point
│
└── frontend/
├── src/
│ ├── components/ # Reusable components (Navbar, ProtectedRoute)
│ ├── context/ # AuthContext for state management
│ ├── pages/ # Page components
│ ├── App.jsx # Main app with routing
│ ├── index.css # Tailwind styles
│ └── main.jsx # Entry point
├── .env.example # Frontend environment variables
├── index.html
├── package.json
├── postcss.config.js
├── tailwind.config.js
└── vite.config.js
```
## Features
### For Students
- Browse approved jobs with filters (category, city, working period)
- Apply to jobs with skills confirmation
- Track application …