ticketservice

command module
v0.0.0-...-5b6618e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 30, 2023 License: GPL-3.0 Imports: 10 Imported by: 0

README

Ticketing Service

This is a pilot project for Arttizens company. I tried to write clean and standard code and use some cool tools to make my codebase more professional. See here for swagger documentions.

Tools

  • Docker Compose
  • Swagger
  • Github Actions for CI
  • MySQL
  • GNU Make

Technical Structure

Before coding I design my idea on this issue. You can check.

Go libraries

  • Echo web framework
  • GORM
  • Gocron
  • slog
  • smtp

Log system

This project implemented a log system using slog and gocron. Everyday logs of application will wrote on ./log/date.log You can silent logs with DEBUG=false on .env

Run project

Firt of all you should config .env. Copy .env.example and change some fields like smtp configurations.

cp .env.example .env

Then you can deploy application using make commands.

$ make help
help                           Show this help.
prod                           Deploy project
dev                            Run database on docker and code on local machine
stop                           Stop and remove all containers
test-compile                   Compile project
test                           Run tests and return status code of unit tests
test-dev                       Run database on container and tests on local machine
swag                           Install swagger and format/init comments
deploy-swagger                 Deploy swagger and create static site on github pages

Swagger documentions

After running project you can access to documentions using following path:

localhost:8000/swagger/index.html

Running make deploy-swagger will create a github pages and create static site from your swagger doc then push it on your github account.

Contributing

We welcome and appreciate all contributions, no matter how small!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL