Categorygithub.com/Yasir900Aslam/go_mongo_modules
modulepackage
0.0.0-20240218013759-b0cfba9b97c8
Repository: https://github.com/yasir900aslam/go_mongo_modules.git
Documentation: pkg.go.dev

# README

Go Mongo

Go Report Card License: MIT

go mongo modules is a blazing fast go-mongodb boilerplate for inspired from go module

What is included

  1. dotenv support
  2. mgm database support with models
  3. mongodb database
  4. gofiber support for web server, middlewares ...
  5. Artillery load testing boilerplate
  6. Validation of DTO, requests.
  7. Static Analysis for clean code.

Future Contribution

  • Adding Benchmarks using Artillery load testing.
  • 🔎 Github Action comming soon
  • Middleware for Authentication and Autorization.
  • Shift to goAir for Hot-Module Reload instead of nodemon.

Prequisites

  • nodemon npm install -g nodemon
  • go
  • make

Optional

  • Artillery npm install -g artillery

Scripts

  • development: make dev
  • rename name of the project: make rename name=<new project name>
  • build for linux: make build
  • build for mac: make build_mac
  • run database migration: make migrate
  • run tests: make test
  • run lint: make lint

Contribution

You can request new features by creating an issue, or submit a pull request with your contribution.

# Packages

Package core Provides shared functionalities like config, database connection, controller defination that can be used by modules directory.
Package home provides middleware and shared auth reponsibilities.
Package modules bootstrap all of the modules in your application.