Go to file
2026-01-03 06:52:38 -08:00
.idea added inittal assessment feature 2025-12-29 07:59:24 -08:00
.vscode fix: Refactored and moved store ports into separate folder 2025-10-29 01:33:50 +03:00
cmd updated the authentication method from username to email/phone_numner 2026-01-03 06:52:38 -08:00
db updated the authentication method from username to email/phone_numner 2026-01-03 06:52:38 -08:00
docs updated the authentication method from username to email/phone_numner 2026-01-03 06:52:38 -08:00
gen/db updated the authentication method from username to email/phone_numner 2026-01-03 06:52:38 -08:00
internal updated the authentication method from username to email/phone_numner 2026-01-03 06:52:38 -08:00
.air.toml init 2025-03-26 23:50:19 +03:00
.gitignore modified gitignore 2025-12-16 18:09:21 +03:00
db.sql fix: transfer not showing online bet issue 2025-06-16 16:24:42 +03:00
docker-compose.yml schema adjustment and profile management fixes 2025-12-31 07:53:59 -08:00
Dockerfile Dockerfile fix 2025-12-31 07:55:57 -08:00
go.mod afro SMS and partial ArifPay Payment Gateway integrations 2025-12-18 18:06:26 +03:00
go.sum afro SMS and partial ArifPay Payment Gateway integrations 2025-12-18 18:06:26 +03:00
makefile afro SMS and partial ArifPay Payment Gateway integrations 2025-12-18 18:06:26 +03:00
new.env user and auth service refactoring, notification service SQL + repository adjustment 2025-12-16 18:05:57 +03:00
README.md user and auth service refactoring, notification service SQL + repository adjustment 2025-12-16 18:05:57 +03:00
sqlc.yaml fix: refactored the transactions into shop_transactions 2025-07-02 03:19:59 +03:00
test.html transaction maker-checker fixes 2025-07-11 15:48:59 +03:00

Yimaru Backend

Yimaru Backend is the server-side application that powers the Yimaru online learning system. It manages courses, lessons, quizzes, student progress, instructor content, and administrative operations for institutions and users on the platform.

Table of Contents


Installation

Before running the application, ensure you have the following installed:

Clone the repository:

git clone https://github.com/your-org/Yimaru-backend.git
cd Yimaru-backend

├── cmd/
│   └── main.go                  # Application entry point
├── internal/
│   ├── config/                  # Configuration and environment loading
│   │   └── config.go
│   ├── domain/                  # Domain models, constants, and roles
│   │   ├── course.go            # Course and lesson structures
│   │   └── roles.go             # Role definitions (e.g., RoleAdmin, RoleInstructor)
│   ├── repository/              # Database interaction layer
│   │   ├── course.go            # Course-related queries
│   │   ├── lesson.go            # Lesson-related database functions
│   │   ├── user.go              # User repository methods
│   │   └── ...                  # Other repository files
│   ├── services/                # Business logic and core services
│   │   ├── course/
│   │   │   └── service.go       # Course management logic
│   │   └── quiz/
│   │       ├── service.go       # Quiz management and evaluation logic
│   │       └── eval.go          # Evaluation logic for student progress
│   └── web_server/              # HTTP handlers, routes, middleware, and cron jobs
│       ├── cron.go              # Scheduled background tasks
│       └── handlers/
│           ├── course_handler.go   # Course-related API endpoints
│           ├── user_handler.go     # User-related endpoints
│           └── ...                 # Additional handlers
├── db/
│   └── migrations/              # SQL migration files
├── docs/
│   ├── swagger/                 # Swagger/OpenAPI documentation files
│   └── docs.go                  # Swaggo-generated docs
├── gen/
│   └── db/                      # SQLC-generated Go code for database access
├── makefile                     # Development and operations commands
├── .env                         # Environment configuration file
└── README.md                    # Project documentation