An open API service indexing awesome lists of open source software.

https://github.com/barahouei/clean-architecture-telegram-bot

A clean architecture implementation using the repository pattern for a Golang Telegram bot
https://github.com/barahouei/clean-architecture-telegram-bot

clean-architecture go golang multi-database multi-language repository-pattern telegram-bot

Last synced: 5 months ago
JSON representation

A clean architecture implementation using the repository pattern for a Golang Telegram bot

Awesome Lists containing this project

README

          

# clean-architecture-telegram-bot

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.

## Directory Explanation:

## /cmd

Main functionality for the application.

## /configs

Application's Configurations.

## /handlers

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.

## /logs

Where all logs are saved.

## /models

Entities that are essential to the application, like structs and types.

## /pkg

Libraries or functions that help to maintain and improve the application.

## /repositories

Databases and their functionalities.

## /services

Services that application provides.

This is where core business logic exists, it works as a bridge between `handlers` and `repositories` directories.