Jonss / jupiter-bank-server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jupiter Bank Server

TODO:

Hello world!

  • - Hello world endpoint
  • - CD on Heroku using github actions
  • - Setup database
  • - Setub migrations
  • - Setup test containers
  • - Setup env variables wth Viper

Features

Users

  • - Create user entity
  • - create migration
  • - save in db
  • - hash password
  • - create function to handle json response
  • - test handlers
  • - Implement validation
  • - Create migration to add indexes on users table

Security

  • - Create "tenants" table, for check if request is allowed to perform changes on server.
  • - Create middleware to handle base64 token using secret, key from tenant on open endpoints.

Authentication and Authorization

  • - Implement Login mechanism [PASETO]
  • - Create endpoint to create token
  • - Create middleware to handle tokens
  • - Create endpoint to get user profile protected by authentication
  • - Test tokens

Account

  • - Create account entity [TODO - add steps]
  • - Implement validation
  • - Funding user when account is created

Transfer

  • - Create transfer feature [TODO - add steps]
  • - Save transfer

Summary

Messaging

  • - Integrate with email provider [sendgrid?]
  • - Integrate with push notification provider (for web)

** Test all features

  • Database tests will use testcontainers, testing actual queries
  • HTTP route tests use mocks
  • services tests will use mocks

About


Languages

Language:Go 98.5%Language:Makefile 0.8%Language:Shell 0.4%Language:Dockerfile 0.3%