Skip to content
No description, website, or topics provided.
Go HTML Shell JavaScript CSS Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
controllers
db
logger
mailer
middleware
models
web
.gitignore
Dockerfile
README.md
build.sh
main.go
upload.sh

README.md

About

The service is a simple flashcard application to studying foreign words. It's just a playground helping me to study Golang. So no guarantees here.

But if you somehow find it useful - feel free to grab my code.

Check the app here.

How it looks like

Flashcard Flashcard's list Flashcard's list

Components

Project consists of three main components:

  • API (root folder, uses MongoDB as a storage)
  • Web application (web folder)
  • Mailer microservice w/ gRPC interface (mailer folder)

Environment settings to be made (by component)

API

  • API_SERVING_AT (ex. "localhost:8080")

    Port needs to be exposed to the outer world.

  • API_MONGO_ADDR (ex. "localhost:27017")

    MongoDB connection string.

  • API_JWT_SECRET (ex. "asdFGH123")

    JWT secret to sign tokens.

  • API_MAILER_LISTENING_AT (ex. ":30400")

    Mailer microservice serves on that port.

Mailer microservice

  • MAILER_REMOTE_HOST (ex. "smtp.yandex.ru:465")
  • MAILER_USER (ex. "flip@nobody.ru")
  • MAILER_PASSWORD (ex. "48monkeys")
  • MAILER_FROM (ex. "flip@nobody.ru")
  • MAILER_SERVICENAME (ex. "Flip a card")
  • MAILER_SERVING_AT (ex. ":30400")

Web application

  • WEBAPP_SERVING_AT (ex. ":4000")

    Service is running in a docker container, port needs to be exposed to :80

  • WEBAPP_API_LISTENING_AT (ex. "localhost:8080")

    This is the address and a port on what API serves. Using in JS-scripts of the app.

You can’t perform that action at this time.