- User Authentication: Secure user registration and login.
- Job Listings: Create, read, update, and delete job listings.
- Applicant Management: Manage applicants for job listings.
- Search and Filter: Search and filter job listings based on various criteria.
- Notifications: Email notifications for job application status updates.
- Role-Based Access Control: Different access levels for users and administrators.
- Responsive Design: Mobile-friendly user interface.
- Go 1.22.8 or higher
- PostgreSQL
- Docker (optional, for containerization)
-
Clone the repository:
git clone https://github.com/manjurulhoque/job-portal.git cd job-portal
-
Set up environment variables:
Copy the
.env.sample
file to.env
and update the values as needed.cp .env.sample .env
-
Install dependencies:
go mod tidy
-
Run the application:
go run main.go
-
Run with Docker (optional):
docker-compose up --build
-
Access the application:
Open your browser and navigate to
http://localhost:8080/swagger/index.html
.
-
Backend:
- Go (Golang)
- GORM (ORM for Go)
- PostgreSQL (Database)
- JWT (JSON Web Tokens)
-
DevOps:
- Docker (Containerization)
-
Testing:
- Go testing framework
- Postman (API testing)