Skip to content

Latest commit

 

History

History
35 lines (35 loc) · 2.65 KB

directory_structure.md

File metadata and controls

35 lines (35 loc) · 2.65 KB
.
├── cmd
│   ├── server               # Entry point for the API server
│   │   └── main.go          # Main file to start the Gin server
│   ├── cli                  # Entry point for command line tools (CLI)
│   └── cronjob              # Entry point for cron jobs or scheduled tasks
├── internal                 # Core business logic, protected from external usage
│   ├── controllers          # Contains controllers for handling HTTP requests
│   ├── initialize           # Initializes configuration or services when the app starts
│   ├── middlewares          # Middlewares for request handling (logging, auth, etc.)
│   ├── models               # Data models (structs) representing database tables
│   ├── repositories         # Data access layer (repository pattern)
│   ├── po                   # The Persistent Object (PO) folder holds objects representing database records for data storage and retrieval.
│   ├── routers              # Defines API routes and their handlers
│   └── services             # Business logic and data processing services
├── Makefile                 # Manages build, run, test tasks using Makefile
├── migrations               # Contains database migration files (e.g., SQL scripts)
├── pkg                      # Libraries reusable across multiple projects
│   ├── logger               # Configures and handles logging
│   ├── setting              # Reads and processes configuration settings
│   └── utils                # General utility functions, reusable across the app
├── response                 # Contains standardized responses for APIs (JSON, errors, etc.)
├── scripts                  # Shell scripts for automation tasks (deployment, setup, etc.)
├── tests                    # Contains unit and integration tests
├── third_party              # Integrations with third-party services or libraries
├── configs                  # Directory for configuration files (YAML, JSON, TOML, etc.)
├── docker-compose.yml       # Docker Compose configuration for launching services
├── docs                     # Project documentation (e.g., API specs, technical docs)
├── global                   # Global variables (use sparingly)
├── .gitignore               # Specifies files and directories for Git to ignore.
├── go.mod                   # Go module file for managing dependencies
├── go.sum                   # Go module lock file (stores dependency versions)
└── README.md                # Project documentation and usage instructions