/go-todo-api

A todo API using Fiber and MongoDB implementing full CRUD operations and user Authentication in Go.

Primary LanguageGo

Go Todo API

Learning

In the process of learning, I thought it would be best to learn in a self-guided fashion and build a simple app from scratch.

TODO

  • auth

    • base auth routes
    • create user (signup)
      • base route
    • login user
      • match if credentials are valid
    • encrypt passwords
      • bcrypt
      • validation - password must be at least 8 characters
    • set up jwt
      • [ ] go-jwt
      • fiber middleware
    • route protection
      func restricted(c *fiber.Ctx) error {
        user := c.Locals("user").(*jwt.Token)
        claims := user.Claims.(jwt.MapClaims)
        name := claims["name"].(string)
        return c.SendString("Welcome " + name)
      }
  • organization / architecture

    • proper organization of return statuses for routes
    • find more efficient way to test
    • controllers vs. repositories
  • deploy

    • figure out docker and maybe kubernetes
    • 
      
    • deploy on aws
      • fix https certificate
    • made env public for tests with docker
    • successfully deployed to AWS though the public address do not work
  • frontend

    • scaffold
      • Next.js
      • typescript