Hirely is a gig-matching platform designed to connect job seekers with employers for short-term, location-based work. It facilitates the entire process from job posting and discovery to assignment and rating.
- User Roles: Support for Job Seekers, Employers, and Admins.
- Job Management: Post, browse, assign, and track status of jobs.
- Ratings & Reviews: Reputation system for both workers and employers.
- Real-time Interaction: Job interests and assignments.
- React: UI Library (v19)
- Vite: Build tool and development server
- TailwindCSS: Utility-first CSS framework for styling
- React Router: Navigation and routing
- Lucide React: Icon set
- Node.js: Runtime environment
- Express: Web framework for API
- PostgreSQL: Relational database
- BCrypt: Password hashing
- JSON Web Tokens (JWT): Authentication
Ensure you have the following installed on your machine:
- Node.js (v16+)
- PostgreSQL
- Ensure PostgreSQL is running.
- Create a new database for the project (e.g.,
hirely_db). - Run the SQL commands found in
Database_schema.txtto initialize the tables.
- Navigate to the server directory:
cd server - Install dependencies:
npm install
- Create a
.envfile in theserverdirectory and configure your environment variables (Database credentials, JWT secret, etc.). - Start the backend server:
The server typically runs on port 3000 (or as configured).
node server.js
- Open a new terminal and navigate to the project root:
cd .. # if you are in the server directory
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser and navigate to the URL shown (usually
http://localhost:5173).
/src: Frontend React source code./server: Backend Node/Express API code.server.js: Main entry point for the API.db/: Database connection logic.routes/: API route definitions.
Database_schema.txt: SQL schema for database creation.
We are deploying Hirely to Microsoft Azure using Docker containers.
- Create
Dockerfilefor multi-stage build (Frontend + Backend). - Test container locally (
docker run).
- Create Azure Container Registry (ACR).
- Push Docker image to ACR.
- Create Azure App Service (Linux B1 Plan).
- Configure Environment Variables (DB Connection, JWT Secret) in App Service.
- Enable Continuous Deployment from ACR.
- (Optional) Setup GitHub Actions for automated build & push.