Giter Club home page Giter Club logo

graphql_api's Introduction

Простой веб-сервис на GraphQL с использованием следующих библиотек:

  • go-pg - для работы с PostgreSQL
  • dbMate - для управления миграциями в проекте
  • twilio/twilio-go - сервис и библиотека для взаимодействия с ним. Используется для отправки смс-кодов в процессе аутентификации пользователя.

Настройка и запуск:

Настройка:

git clone https://github.io/Spargwy/graphql_api
cd graphql_api
  • Установка make

  • В случае запуска через докер, единственное, что понадобится - это docker и docker-ccompose:

https://docs.docker.com/engine/install/,

https://docs.docker.com/compose/install/.

Для запуска без докера требуется установка следующих библиотек:

А также установка зависимостей проекта командой go mod download

В корневой директории представлен файл .env.example. По его подобию необходимо создать .env файл и заменить некоторые параметры вашими собственными. В случае с параметрами, связанными с twilio, требуется создать и настроить аккаунт: https://www.twilio.com/.

Пункт выше выполняется независимо от типа запуска.

Запуск

Запуск с помощью докера:

  • make docker-run - создание и запуск веб-сервиса с БД.
  • make docker-migrate - накат миграций в БД внутри контейнера.
  • Для заливки тестовых данных выполняется команда
make docker-test-data

Без докера:

  • Создать базу и накатить миграции: make migrate
  • Залить тестовые данные: make local-test-data
  • Запустить сервер командами:
 go build -o server
 ./server

Запуск линтера осуществляется с помощью golangci-lint через докер командой make lint или golangci-lint run ./... если имеется установленный golangci-lint: https://golangci-lint.run/usage/install/

graphql_api's People

Contributors

spargwy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.