Вам надо с полного и абсолютного нуля сделать небольшое API для хранения и получения данных в БД.
Стек (GoLang):
- GoLang
- MongoDB
- go.mongodb.org/mongo-driver/mongo
- go-chi.io
- https://github.com/99designs/gqlgen
Представьте себе фид социальной сети. Упрощенно представим, что в нашей сети есть только фид и больше ничего.
В этом фиде нам могут попадаться два типа постов:
- Пост = только текст
- Пост = только медиа (это картинка из интернета или видео оттуда же)
У каждого поста есть автор - какой-то пользователь.
Моделировать пользователя не нужно - пусть он будет определяться только ID
type User {
id: ID!
}
А вот добавление новостей в фид и чтение фида нужно будет замоделировать
type Query {
feed(...)
}
type Mutation {
addPost(...)
}
Обратите внимание на несколько вещей:
- Посты имеют разный тип. А может один? Как они храняться в БД?
- Если завтра бизнес скажет нам создать еще один тип поста - Сможем ли мы это сделать удобно, без перелопачивания всего сервиса?
- Фид может быть довольно большой, наверное нужна пагинация? Как будем делать?