GoLang Dating Service

Author: Ubaidillah Hakim Fadly
Purpose: Case Study
Description:

Our dating application service offers a streamlined experience, allowing users to register and login effortlessly. With intuitive swipe gestures, users can swiftly navigate through profiles, swiping left to pass or right to express interest. To ensure quality matches, users are presented with a curated selection of 10 profiles daily, eliminating repeat views. Additionally, users have the option to purchase a premium package, granting unlimited swipes and access to enhanced features for an enriched dating experience.

Running with docker composer

  1. change .env for property PSQL_HOST (example at .env.docker-compose.example):
    PSQL_HOST=postgres
  1. run
    docker composer up -d
  1. app is running with port 8910, and ready to GO

Running with live reload (for Development)

  1. install Air
  2. create .air.toml at root (if not exist)
  3. run
    air

Running unit test (uncompleted yet bcs limited time, just user register for a sample)

    make test

Prequisite tools

Documentation

Migration

  1. Create New File
  • Example:
    make new_migration name="create_users_table"
  1. Migrate all
    make migrate_up

Deployment

  1. CI proses using jenkins, look at Jenkinsfile
  2. CD proses using push method trigger from webhook dockerhub to endpoint generated by portainer