Git Product home page Git Product logo

graphql-basics's Introduction

Установка приложения:

  1. Установите LTS версию NodeJS с официального сайта.
  2. Перейдите по ссылке и следуя инструкциям установите и запустите mongoDB и микросервисы необходимые для работы приложения.
  3. Скачайте файлы приложения нажав на кнопку Code в правом верхнем углу репозитория и выбрав из контекстного меню удобный для вас способ загрузки.
  4. Распакуйте файлы приложения на локальном диске своего устройства.
  5. Откройте папку с файлами приложения используя редактор кода (например VSCode) или консоль.
  6. Выполните в консоли команду npm install для того чтобы установить все необходимые пакеты.

Запуск приложения:

Приложение имеет следующие консольные команды позволяющие произвести запуск:

  • npm run start - Запустить приложение.
  • npm run start:dev - Запустить приложение в режиме разработки (с использованием Nodemon).

После запуска приложения необходимо открыть его в браузере (по умолчанию http://localhost:4000) и нажать на кнопку Query your server.

Настройка приложения:

Ссылки и порты используемые по умолчанию для работы приложения и микросервисов содержатся в файле .env, вы можете отредактировать их при необходимости.

Приложение отлично работает с микросервисами по ссылке выше. Если вы используете уже заполненную базу данных, то крайне желательно удалить из нее id ведущие к несуществующим объектам, если таковые имеются (может вызвать проблемы в работе Favorites запросов, так как по умолчанию этот микросервис не имеет валидации входных параметров). В случае возникновения каких-либо проблем в работе приложения с удовольствием помогу решить их если вы свяжитесь со мной по любому из контактов ниже.

Функционал приложения

Для того чтобы использовать все доступные в приложении запросы необходимо выполнить регистрацию и авторизацию. Для этого имеются следующие запросы:

User запросы

Запрос для регистрации:

  • register(firtName: String, lastName: String, email: String, password: String)

Запрос для авторизации:

  • jwt(email: String, password: String)

Также можно получить данные о имеющемся в базе пользователе используя уникальный идентификатор:

  • user(id: String)

После успешной авторизации можно использовать все доступные в приложении запросы. Типы данных для аргументов отображаются в приложении. Везде где имеется тип данных ID используйте строку с уникальным идентификатором.

Artists запросы

Queries:

  • artist
  • artists

Mutations:

  • createArtist
  • deleteArtist
  • updateArtist

Genre запросы

Queries:

  • genre
  • genres

Mutations:

  • createGenre
  • deleteGenre
  • updateGenre

Track запросы

Queries:

  • track
  • tracks

Mutations:

  • createTrack
  • deleteTrack
  • updateTrack

Band запросы

Queries:

  • band
  • bands

Mutations:

  • createBand
  • deleteBand
  • updateBand

Album запросы

Queries:

  • album
  • albums

Mutations:

  • createAlbum
  • deleteAlbum
  • updateAlbum

Favourites:

Queries:

  • favourites

Mutations:

  • addTrackToFavourites
  • addBandToFavourites
  • addArtistToFavourites
  • addGenreToFavourites

Используемые npm пакеты:

  • typescript
  • ts-node
  • nodemon
  • apollo
  • axios
  • dotenv
  • graphql
  • graphql-tools

Контакты:

В случае необходимости получения дополнительной информации, и/или каких либо разъяснений по логике работы приложения можете связаться со мной:

Приятного пользования!

graphql-basics's People

Contributors

vladislav-cheremisin 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.