Skip to content

asirko/Go-template

Repository files navigation

Go Template

Description

Ce projet est un template très basique d'application backend en GO. Il est basé sur l'architecture hexagonale.

L'objectif est de compléter ce template pour avoir une base de code réutilisable pour les projets futurs.

L'architecture et les choix pris sont disponibles ici.

Reste à faire

  • passer en UUID pour les users
  • mettre à jour le swagger et validé qu'il se génère seul (voir go-redoc?)
  • mettre à jour le readme
  • mettre un logger en place
  • revoir l'ORM pour utiliser un système de seeding
  • avoir de meilleurs messages d'erreur pour les 400
  • gérer les codes d'erreurs
  • gérer une authentification avec double token (l'access dans la réponse le refresh dans les cookies)
  • Utiliser gvm pour gérer les versions de go et simplifier les prérequis
  • vérifier la génération automatique de la doc swagger et la documentation de la base de données
  • Mettre en place de la CI (voir golangci)
  • regrouper password utils et paseto dans un pkg utils
  • déplacer les utils dans un package utils
  • Pas besoin d'avoir 2 niveaux pour handler/http, garder uniquement http

Démarrer

Prérequis

Avoir Go 1.21 ou + et Task installé sur la machine :

```bash
go version && task --version
```

Installation

task install
cp .env.example .env

Lancer le projet

task service:up
task migrate:up
task dev

About

Un bac à sable pour expérimenté avec Go et peut-être me faire une base solide pour de future projets

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published