JobHunt is a microservice-based project that enables users to authenticate and manage posts. It's designed with a modular architecture to handle specific functionalities efficiently.
- Users Service
- Posts Service
The Users Service is responsible for user authentication, profile management, and data retrieval. It uses Repository pattern to separate the business logic from the data access logic.
- Backend Framework: FastAPI
- Database: PostgreSQL
- ORM: SQLAlchemy
- Migration Tool: Alembic
- Authentication: JWT
- User Registration
- User Login
- Profile Management
The Posts Service is responsible for managing the creation, retrieval, updating, and deletion of user-generated posts.
It uses MVC as the architectural pattern.
- Language: Golang
- Framework: Fiber
- Database: PostgreSQL
- ORM: GORM
- Migration Tool: GORM
- Authentication Middleware
- Create Posts
- Get Posts
- Update Posts
- Delete Posts
You can run each service using Docker or Kubernetes.
First, you need to clone the repository and navigate to the service directory.
-
Clone the repository:
git clone https://github.com/mohamad-liyaghi/JobHunt.git
-
Navigate to the directory:
cd JobHunt/
-
Navigate to the service directory:
cd services/<service_name>/ # Replace <service_name> with 'users' or 'posts'
-
Build the Docker image:
make build
-
Run the service:
make run
-
To Deploy the services on Kubernetes, you need to have a Kubernetes cluster running.
-
Run deploy command:
make deploy