Skip to content

t5810m/go-mongodb-api

Repository files navigation

Jobs API - Go + MongoDB

Production-ready REST API for a job marketplace built with Go and MongoDB.

Quick Start

Prerequisites

  • Go 1.24+
  • MongoDB (Atlas or local)

Installation

  1. git clone https://github.com/t5810m/go-mongodb-api.git
  2. cd go-mongodb-api

Setup

  1. cp .env.example .env
  2. Edit .env with your MongoDB URI
  3. go run cmd/seed/seed.go — Create and seed database
  4. go run cmd/main.go — Start server

Server runs on http://localhost:8080

Docker

  1. cp .env.example .env
  2. Edit .env with your MongoDB URI
  3. docker-compose up --build

Server runs on http://localhost:8080

Features

  • 60+ REST endpoints for job marketplace
  • Pagination, filtering, sorting on all list endpoints
  • Layered architecture (Handler → Service → Repository → DB)
  • 14 entities: Users, Jobs, Applications, Skills, JobCategories, JobSkills, CandidateSkills, Articles, Countries, EducationLevels, JobTypes, KnowledgeLevels, LocationAvailabilities, Resumes
  • JWT authentication with role-based access (admin / recruiter / candidate)
  • Input validation with field-level error messages
  • MongoDB integration with indexes and clean patterns
  • ~97% test coverage on middleware, ~98% on services

Documentation

Technology Stack

Go · MongoDB · Chi Router · godotenv · Validator · Docker

Contact

Zoran Makrevskizoran@makrevski.com

Feel free to reach out for questions, suggestions, or collaboration.

License

MIT - See LICENSE

About

Open‑source Job Board REST API built with Go and MongoDB. Includes clean architecture, JWT auth, and full CRUD for job listings and recruitment workflows.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors