MCPcopy Index your code
hub / github.com/Creatly/creatly-backend

github.com/Creatly/creatly-backend @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,402 symbols 2,967 edges 104 files 570 documented · 41%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Creatly LMS [Backend Application] GO

Learn More about Creatly here

Build & Run (Locally)

Prerequisites

  • go 1.17
  • docker & docker-compose
  • golangci-lint (optional, used to run code checks)
  • swag (optional, used to re-generate swagger documentation)

Create .env file in root directory and add following values:

APP_ENV=local

MONGO_URI=mongodb://mongodb:27017
MONGO_USER=admin
MONGO_PASS=qwerty

PASSWORD_SALT=<random string>
JWT_SIGNING_KEY=<random string>

SENDPULSE_LISTID=
SENDPULSE_ID=
SENDPULSE_SECRET=

HTTP_HOST=localhost

FONDY_MERCHANT_ID=1396424
FONDY_MERCHANT_PASS=test
PAYMENT_CALLBACK_URL=<host>/api/v1/callback/fondy
PAYMENT_REDIRECT_URL=https://example.com/

SMTP_PASSWORD=<password>

STORAGE_ENDPOINT=
STORAGE_BUCKET=
STORAGE_ACCESS_KEY=
STORAGE_SECRET_KEY=

CLOUDFLARE_API_KEY=
CLOUDFLARE_EMAIL=
CLOUDFLARE_ZONE_EMAIL=
CLOUDFLARE_CNAME_TARGET=

Use make run to build&run project, make lint to check code with linter.

Extension points exported contracts — how you extend this code

StudentLessons (Interface)
(no doc) [6 implementers]
internal/service/service.go
StudentLessons (Interface)
(no doc) [6 implementers]
internal/repository/repository.go
TokenManager (Interface)
TokenManager provides logic for JWT & Refresh tokens generation and parsing. [1 implementers]
pkg/auth/manager.go
PasswordHasher (Interface)
PasswordHasher provides hashing logic to securely store passwords. [1 implementers]
pkg/hash/password.go
Sender (Interface)
(no doc) [2 implementers]
pkg/email/sender.go
Generator (Interface)
(no doc) [2 implementers]
pkg/otp/otp.go
Cache (Interface)
(no doc) [1 implementers]
pkg/cache/cache.go
DomainManager (Interface)
(no doc) [1 implementers]
pkg/dns/dns.go

Core symbols most depended-on inside this repo

newResponse
called by 266
internal/delivery/http/v1/response.go
Error
called by 197
pkg/logger/logger.go
Set
called by 63
pkg/cache/cache.go
getSchoolFromContext
called by 51
internal/delivery/http/v1/middleware.go
EXPECT
called by 44
internal/service/mocks/mock.go
GetById
called by 40
internal/service/service.go
parseIdFromPath
called by 30
internal/delivery/http/v1/handler.go
Create
called by 26
internal/service/service.go

Shape

Method 922
Struct 272
Function 161
Interface 40
FuncType 5
TypeAlias 2

Languages

Go100%

Modules by API surface

internal/service/mocks/mock.go244 symbols
internal/repository/mocks/mock.go226 symbols
internal/service/service.go132 symbols
internal/repository/repository.go108 symbols
internal/delivery/http/v1/admins.go66 symbols
internal/delivery/http/v1/students.go27 symbols
internal/repository/modules_mongo.go19 symbols
internal/config/config.go18 symbols
internal/service/students.go16 symbols
pkg/payment/fondy/fondy.go14 symbols
internal/repository/students_mongo.go14 symbols
internal/service/modules.go13 symbols

Datastores touched

ordersCollection · 1 repos
studentsCollection · 1 repos
adminsCollection · 1 repos
modulesCollection · 1 repos
offersCollection · 1 repos
packagesCollection · 1 repos
promocodesCollection · 1 repos
schoolsCollection · 1 repos

For agents

$ claude mcp add creatly-backend \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact