Prism is a modern HR platform designed to streamline the recruitment process, providing a seamless experience for both candidates and HR professionals. ๐
-
For Candidates:
- ๐ Browse available job openings
- ๐ Apply for positions
- ๐ Track application status
-
For HR Professionals:
- ๐ข Create and manage job postings
- ๐ Review candidate applications and resumes
- ๐ Manage the hiring pipeline with customizable stages
- ๐๏ธ Archive job postings
- Backend: Go (Golang) ๐น
- UI Framework: Bootstrap ๐จ
- Database: PostgreSQL ๐
- Message Broker: Kafka ๐ฌ
- Caching: Redis ๐๏ธ
- Monitoring: Prometheus & Grafana ๐
Prism is built on a microservices architecture, consisting of the following services:
- ๐ Auth Service
- ๐ค User Service
- ๐ผ Vacancy Service
- ๐ฎ Api Gateway
- ๐ Notification Service
- ๐ฅ๏ธ Frontend Service
- Go 1.20+
- Docker and Docker Compose
- PostgreSQL 13+
- Kafka
- Redis
-
Clone the repository:
git clone https://github.com/wtf-keaton/prism.git cd prism
-
Set up environment variables:
cp .env.example .env
Edit the
.env
file with your configuration. -
Build and run all services (including frontend):
docker-compose up --build
-
The services should now be running. You can access the frontend at
http://localhost:3000
and the API athttp://localhost:8080
.
To run the frontend service locally for development:
-
Navigate to the frontend service directory:
cd services/frontend
-
Install dependencies:
go mod tidy
-
Run the service:
go run cmd/main.go
The frontend will be available at http://localhost:3000
.
API documentation is available via Swagger UI. After starting the services, you can access it at:
http://localhost:8080/swagger/index.html
We welcome contributions to Prism! Please see our Contributing Guide for more details.
To run the test suite:
go test ./...
Prometheus metrics are exposed at /metrics
endpoint for each service. Grafana dashboards are available to visualize these metrics.
This project is licensed under the MIT License - see the LICENSE file for details.
For any queries or support, please contact our team at support@libretto.store.
Made with โค๏ธ by the Prism team