/catalog-api

Monolith REST API for `catalog-ui`

Primary LanguageGoMIT LicenseMIT

Project catalog-api 📚

Monolith REST API service for Inner Catalog project.

Community

  • Just use github discusson for now
  • Should i make a discord server?

Docs

  • Use Bruno
    • Import collection form ./docs/catalog-circle-api/bruno.json
  • ERD Diagram

Getting Started

Requirements

  • Go 1.21.1
  • PostgreSQL:latest
    • Docker (local)
    • Supabase
  • Go Migrate v4 link
  • wire
  • Docker
  • air (for live reload)
  • Google Client ID & Secret (for oauth2)
  • Object Storage
    • AWS S3 with Cloudflare R2

Installation

  1. Fork the repository
  2. Clone the repository from your fork
  3. Create .env file in the root dir based on .env.example
  4. Install dependencies
go mod download
  1. Run DB container
make docker-run
  1. Run the migration
make migrate-up
  1. Run the application locally
make watch

Environment

Available Make Commands

# run all make commands with clean tests
make all build

# build the application
make build

# run the application
make run

# Create DB container
make docker-run

# Shutdown DB container
make docker-down

# live reload the application
make watch

# create new migration file
make migrate-create

# run the migration
make migrate-up

# rollback the migration
make migrate-down

# run the test suite
make test

# clean up binary from the last build
make clean