Categorygithub.com/zVitorSantos/Moneyger-Backend
repository
0.0.0-20240724012946-fa623b80752a
Repository: https://github.com/zvitorsantos/moneyger-backend.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# README

Moneyger-Backend

License: MIT Build and Test codecov Go Report Card Swagger Validator

Backend for a minimalist Money Management API designed to support a Vue interface.

Table of Contents

  1. Initial Setup
  2. Database
  3. Project Structure
  4. API Documentation
  5. Testing and CI/CD
  6. Containerization
  7. Continuous Development
  8. Technologies Used
  9. Future Steps

Checklist

Implementation Stages

  1. Initial Setup

    • Set up development environment
    • Initialize Git repository and configure GitHub
    • Configure Go Modules
  2. Database

    • Choose and configure database (PostgreSQL)
    • Define data model
    • Create migrations for initial tables
  3. Project Structure

    • Create basic project structure
    • Implement basic CRUD for main entities
    • Implement authentication and authorization
  4. API Documentation

    • Set up Swagger for API documentation
    • Validate Swagger documentation
    • Add missing documentation:
      • Endpoints for user management
      • Endpoints for transaction management
      • Authentication flow
  5. Testing and CI/CD

    • Set up unit tests
    • Implement integration tests
    • Configure GitHub Actions for CI/CD
    • Integrate Codecov for test coverage
    • Set up staging environment
    • Implement automated deployment to staging
    • Implement automated deployment to production
  6. Containerization

    • Create Dockerfile for the application
    • Set up Docker Compose for development environment
    • Configure Docker for production environment
    • Set up Kubernetes for container orchestration
    • Create Helm charts for Kubernetes deployments
  7. Continuous Development

    • Configure complete CI/CD pipeline
    • Set up automated tests in CI/CD pipeline
    • Set up monitoring and alerting with Prometheus & Grafana
    • Configure centralized logging with ELK Stack
    • Set up Redis for caching
    • Implement additional backend functionalities
    • Develop frontend interface in Vue.js
    • Test and validate full integration between backend and frontend

Technologies Used

  • Go
  • PostgreSQL
  • Docker
  • Docker Compose
  • JWT for authentication
  • Redis for caching
  • Prometheus & Grafana for monitoring
  • ELK Stack for logging
  • Swagger for documentation
  • GitHub Actions for CI/CD
  • Codecov for test coverage
  • Kubernetes for container orchestration

Future Steps

  • Implement more functionalities in the backend
  • Develop frontend interface in Vue.js
  • Test and validate complete integration between backend and frontend