A sample project for creating telegram bots in Golang with clean architecture and repository pattern.
Note
Although this is a telegram bot, clean architecture principles are the same for any types of web applications.
Main functionality for the application.
Application's Configurations.
Handling all incoming requests.
This directory is responsible for defining endpoints to receive requests, and validating those incoming requests.
It contains no business logic and just passes validated requests to the appropriate services and returns the response to the client.
Where all logs are saved.
Entities that are essential to the application, like structs and types.
Libraries or functions that help to maintain and improve the application.
Databases and their functionalities.
Services that application provides.
This is where core business logic exists, it works as a bridge between handlers
and repositories
directories.