Categorygithub.com/bastean/codexgo
module
3.0.1+incompatible
Repository: https://github.com/bastean/codexgo.git
Documentation: pkg.go.dev

# README

logo readme

Example CRUD project applying Hexagonal Architecture, Domain-Driven Design (DDD), Event-Driven Architecture (EDA), Command Query Responsibility Segregation (CQRS), Behavior-Driven Development (BDD), Continuous Integration (CI), and more... in Go


license MIT go report card commitizen friendly release it

upgrade workflow ci workflow release workflow

go reference github release

Features

  • Project Layout

  • Message Broker

  • Devcontainer

    • Features
    • Extensions & Settings
  • Docker

    • Dockerfile
      • Multistage
    • Compose
      • Setup by ENV
  • GitHub

    • Actions & Workflows
      • Setup Languages and Dependencies
      • Secrets Scanning (TruffleHog Action), Linting & Test Checks
      • Upgrade Dependencies
      • Automate Release
    • Issue Templates (Defaults)
  • Git

  • Releases

    • Automatically
  • Security

    • Account confirmation via email
    • Password hashing (Bcrypt)
  • Scripts

    • sync-env
      • Synchronize all .env* files in the directory using an .env model
    • upgrade
      1. Upgrade Go and Node dependencies
      2. Linting and Testing
      3. Commit changes

First Steps

Clone

HTTPS

git clone https://github.com/bastean/codexgo.git && cd codexgo

SSH

git clone [email protected]:bastean/codexgo.git && cd codexgo

Initialize

Dev Container (recommended)

  1. Install required

  2. Start VS Code

    code .
    
  3. Open Command Palette

    • Ctrl+Shift+P
  4. Run

    Dev Containers: Reopen in Container
    

Locally

  1. Install required

  2. Run

    make init
    

ZIP

  1. Install required

  2. Run

    make from-zero
    

Repository

Settings

  • Actions

    • General

      • Workflow permissions

        • Read and write permissions
  • Secrets and variables

    • Actions

      • New repository secret

        • BOT_GPG_PRIVATE_KEY

          gpg --armor --export-secret-key [Pub_Key_ID (*-BOT)]
          
        • BOT_GPG_PASSPHRASE

Run

ENVs

[!IMPORTANT] Before running it, you must set the following environment variables and rename the file to .env.(dev|test|prod)

[!TIP] You can check the demo file to see which values you can use

Development

make compose-dev

Test

  • Unit

    make test-unit
    
  • Integration

    make compose-test-integration
    
  • Acceptance

    make compose-test-acceptance
    
  • All

    make compose-test-all
    

Production

make compose-prod

Screenshots

Tech Stack

Base

Please see

Contributing

  • Contributions and Feedback are always welcome!

License

# Packages

No description provided by the author
No description provided by the author
No description provided by the author