Coder Social home page Coder Social logo

bookworm's Introduction

bookworm

1. Цель проекта

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

2. Описание системы

Система состоит из следующих функциональных блоков:

  1. Регистрация, аутентификация и авторизация
  2. Функционал для автора/авторов книжного клуба
  3. Функционал для подписчика
  4. Функционал интеграции с Телеграмм, ВК, Youtube

2.1 Типы пользователей

Данный сервис предусматривает два типа пользователей - авторы клубов и обычные пользователи. Авторы клубов создают заметки к книгам, пишут к ним рецензии, создают для пользователей встречи и выкладывают дополнительные материалы. Обычные пользователи могут подписываться на клубы, и потреблять контент в зависимости от разных типов доступов

2.2 Регистрация пользователей

Любой человек регистрируется как обычный пользователь. У него есть несколько способов это сделать:

  • Через телеграм

    Человек указывает свой telegram-id, ему пишет бот для прохождения верификации. Человек проходит верификацию в приложении, и бот задирает данные (указанные в профиле) и они вставляются в профиль пользователя.
    Дальше человеку в профиле нужно будет обязательно указать возраст, о чём у него будет уведомление после прохождения всех этапов регистрации.

  • Через VK

    Регистрация будет через OAuth2, который предоставляет VK. Всё точно так же, пользователь проходит верификацию на стороне вк,
    наше приложение забирает данные, какие нужны (Имя, возраст, email - если есть, телефон - если есть)

  • Стандартно через mail.

    Пользователь указывает mail, дальше ему на почту приходит ссылка для входа в приложение со специальными токенами. access и refresh. Через какое-то время, если пользователь не пользуется приложением, токены обнуляются и пользователю нужно пройти данную процедуру заново После входа в приложение пользователь может указать свой пароль для доступа в приложение

После данного этапа регистрации, пользователю будет предложено выбрать категории из которых он хочет получать рекомендации по книжным клубам

После завершения регистрации, пользователь оказывается на странице с подборкой клубов по его интересам.

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

  • Дата рождения (обязательно)
  • Почта, если не указана (обязательно)
  • telegram-id, если вход был выполнен не через telegram (опционально)

2.3 Вход для пользователей

Вход в систему так же осуществляется с помощью 3-х способов, указанных в разделе о регистрации

  • Через telegram и telegram-id

    Пользователь указывает свой телеграм-id, бот отправляет пользователю код подтверждения, пользователь вводит его в приложении и авторизуется

  • Через vk oauth

  • Через почту

    Тут есть два варианта:

    • на почту отправляется письмо со ссылкой, при переходе по которой пользователь сможет войти в приложение
    • Связка почта+пароль. Пользователь может войти, введя пароль, который указан в его личном кабинете

2.4 Функции пользователя

...

bookworm's People

Contributors

matmerd 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.