🚀 Backend for Online Courses Builder | SaaS Product

Overview

Backend app for Online Course Constructor Platform

Build & Run (Locally)

Prerequisites

  • go 1.15
  • docker
  • golangci-lint (optional, used to run code checks)

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

MONGO_URI=mongodb://mongodb:27017
MONGO_USER=admin
MONGO_PASS=qwerty
PASSWORD_SALT=
JWT_SIGNING_KEY=
SENDPULSE_LISTID=
SENDPULSE_ID=
SENDPULSE_SECRET=
HTTP_HOST=localhost
FONDY_MERCHANT_ID=1396424
FONDY_MERCHANT_PASS=test
PAYMENT_CALLBACK_URL=/api/v1/callback/fondy
PAYMENT_REDIRECT_URL=https://example.com/

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

TODO: Describe project architecture

Comments
  • Refactor/path

    Refactor/path

    Ребят, привет! Предлагаю часто повторяющиеся пути вынести в константу, обычно статические анализаторы реагируют на подобное - как дубликат. Так же предлагаю - отказаться от слеша вначале. Код будет немного почище

    opened by sashamelentyev 6
  • Graceful shutdown

    Graceful shutdown

    Ребят, привет! https://github.com/zhashkevych/courses-backend/blob/93261b2403c8198ec1f123b883481be30e5ff1d6/internal/app/app.go#L120 - здесь прилетает ошибка http.ErrServerClosed - и это нормально - потому что сервер реально закрывается - может добавить еще проверку?

    opened by sashamelentyev 4
  • Domain model Question

    Domain model Question

    https://github.com/Creatly/creatly-backend/blob/2f0ca56eddd77fcf32f8d2c78f38115bee2a1009/internal/domain/student.go#L13

    @zhashkevych

    Пытаюсь реализовать похожую структуру у себя в проекте

    Скажи плиз в этом есть какой то сакральный смысл чтобы хранить пользователей разных типов по разным моделям? Использование ролей как то ломает бизнес логику или усложняет реализацию?

    opened by boskiv 2
  • Student Lessons

    Student Lessons

    • GET /students/lessons/{id} returns lesson by id and sets lastOpened to the lessonId
    • POST /students/lessons/{id}/finished sets lessons as finished
    • Added new collection studentLessons
    • Added tests for the new endpoints
    • Added new method GetByLesson for ModuleService
    • Added new methods GetLesson and SetLessonFinished for StudentService
    • Added new private helper method isLessonAvailable for StudentService
    • Regenerated swagger
    opened by alyakimenko 1
  • Tests

    Tests

    • Refactored services -> handlers injection
    • Added make targets to initialize testing DB container w/ initial data & run integrational tests
    • Added integration testing framework totests/
    • Covered student sign up logic w/ test
    opened by zhashkevych 1
  • Can not launch it localy

    Can not launch it localy

    Hello @zhashkevych I've tried to launch your project locally but did not succeed . Have this error : level=error msg="Endpoint: does not follow ip address or domain name standards." Do you what can cause this problem?

    Thanks in advance :)

    opened by ainkhm 0
  • Add CONTRIBUTING.md

    Add CONTRIBUTING.md

    Add CONTRIBUTING.md to explicitly state contibution guidelines for this project: what can other people suggest, work on, how can we participate in the development

    opened by SealOfTime 0
Owner
Maksim Zhashkevych
software engineer | product manager | creator
Maksim Zhashkevych
Product Lifecycle Management (PLM) in Git

Product Lifecycle Management (PLM) in Git. This repo contains a set of best practices and an application that is used to manage information needed to

Git PLM 17 Dec 21, 2022
An efficient Go Rapid Product Assembly system used within the Bhojpur.NET Platform ecosystem.

Bhojpur GoRPA - Builder, Packager, Assembler An efficient Go-based Rapid Product Assembly software tool used within the Bhojpur.NET Platform ecosystem

Bhojpur Consulting 0 Apr 28, 2022
The Bhojpur BSS is a software-as-a-service product used as an Business Support System based on Bhojpur.NET Platform for application delivery.

Bhojpur BSS - Business Support System The Bhojpur BSS is a software-as-a-service product used as an Business Support System based on Bhojpur.NET Platf

Bhojpur Consulting 0 Sep 26, 2022
Type-safe Prometheus metrics builder library for golang

gotoprom A Prometheus metrics builder gotoprom offers an easy to use declarative API with type-safe labels for building and using Prometheus metrics.

Cabify 98 Dec 5, 2022
A Visual Go REST API boilerplate builder.

A Visual Go REST API boilerplate builder. The boilerplate builder will export a Go web server with 0 dependencies, besides the ones you add.

The Strukture IDE 55 Jul 8, 2022
An online Zig compiler inspired by Go and Rust

Zig Playground This is a rudimentary online compiler for the Zig programming language. It is inspired by the Go playground. Setup The main server is a

Garrett Squire 54 Jan 3, 2023
Instant online preview of HTML files or websites.

Instant online preview of HTML files or websites.

Krzysztof Kowalczyk 11 Apr 19, 2022
Beecrowd is a Jugde Online Plataform to problems submissions. This repo contains all my submissions to Beecrowd.

Beecrowd Solutions Keywords: Beecrowd, judge, problems, competitive, programming, solutions, ad-hoc, sql, strings, algorithms, math, graphs Table of C

Marcelo Gaioso Werneck 1 Jan 5, 2022
A go backend you can use as a template

Golang project template form Golang Sri Lanka

Golang Sri Lanka 7 May 18, 2022
Backend for Ribbit, Broker API Reference App

Ribbit Reference Implementation (Backend) The reference implementation for the backend of a broker-dealer trading application with the Alpaca Broker A

Alpaca 30 Dec 5, 2022
JumpCloud backend interview assignment

jc-assignment JumpCloud backend interview assignment Hello and thanks for speaking with me earlier this week. As may be apparent from the code, I'm ne

null 0 Nov 5, 2021
Monegi Backend With Fiber And Gorm

Fiber + Gorm Setting environment variables Creating .env file to compose environment variables. .env DB_HOST= <host of db> DB_NAME= <name of db> DB_US

null 0 Nov 17, 2021
A challenge in Go. A simple backend responding to API calls reading/writing data from to PostgreSQL db.

Go Challenge The challenge has been executed in two different steps. Steps 1 Hour tag: 1 hour: As the challenge required, the tag is a snapshot of wha

Sergio Maria Matone 0 Dec 4, 2021
Epub generator backend for mdBook

gomdbook2epub An EPUB generator backend for mdBook. Getting Started Install bina

神楽坂帕琪 0 Dec 17, 2021
Golang-echo-sample - Make an out-of-the-box backend based on golang-echo

Golang-echo-sample - Make an out-of-the-box backend based on golang-echo

Haitwang 0 Dec 31, 2021
Radiant is used for rapid development of enterprise application in Go, including RESTful APIs, web apps and backend services.

Radiant is used for rapid development of enterprise application in Go, including RESTful APIs, web apps and backend services.

W3 Engineers Ltd. 3 Mar 22, 2022
Seen tech VAI22 backend MehediHassan

Seen-tech-VAI22-backend-MehediHassan Getting started To make it easy for you to get started with GitLab, here's a list of recommended next steps. Alre

Mehedi Hasan Ridoy 0 Feb 9, 2022
Product Analytics, Business Intelligence, and Product Management in a fully self-contained box

Engauge Concept It's not pretty but it's functional. Track user interactions in your apps and products in real-time and see the corresponding stats in

Engauge 93 Nov 17, 2021
An open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developersAn open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developers

Developer-oriented Continuous Delivery Product ⁣ English | 简体中文 Table of Contents Zadig Table of Contents What is Zadig Quick start How to use? How to

null 0 Oct 19, 2021
open source training courses about distributed database and distributed systemes

Welcome to learn Talent Plan Courses! Talent Plan is an open source training program initiated by PingCAP. It aims to create or combine some open sour

PingCAP 8.3k Jan 3, 2023