Skip to content

Commit

Permalink
Отредактировал Readme.md файл
Browse files Browse the repository at this point in the history
  • Loading branch information
nrjshka authored Mar 5, 2018
1 parent 3675df4 commit 76f8159
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,56 @@
#doSociety#
#doSociety - новая социальная сеть, цель которой заключается в поиске потенциально интересных собеседников в максимально близком регионе.
#Основная концепция
## doSociety ## - это проект, которым я занимался последние полгода 2017 года.
Т.к. я им уже не занимаюсь, а исходники пыляться более 3 месяцев, я решил залить его с bitbucket'а на github(возможно, они кому-нибудь понадобятся).
Readme проект оставляю неизменным.

# doSociety
# doSociety - новая социальная сеть, цель которой заключается в поиске потенциально интересных собеседников в максимально близком регионе.
# Основная концепция
Суть заключается в работе VK API, которая предоставляет работу с группами, музыкой и личной информацией каждого пользователя.
Находя максимально близких людей по интересам(пересечениям общих групп и музыкальных исполнителей) и сортируя их по геопозиции(или исходя из личной информации), можно найти потенциально интересных собеседников, учитывая разницу в возрасте(+-5 лет).
#Возможности
# Возможности
1. Возможность приватного чата с потенциально интересными и близкими собеседниками
2. Возможность выбора региона для поиска собеседников(например: при переезде, появляется потребность в новых друзьях; при поступлении в вуз другого города, нужно найти новых друзей, максимально близких по твоим интересам)
3. Возможность общения на базе doSociety(при добавлении этой возможности, людям не потребуется "контачиться" в других социальных сетях)
4. Возможность прослушивания аудиозаписей(онлайн и оффлайн)
5. Возможность добавления фотографий и видео
(По мере развития, список будет продолжаться)
#Основные постулаты
# Основные постулаты
1. Актуальность(включает в себя нужность, именно из-за этого большое внимание должно быть уделено интерфейсу поиска новых собеседников)
2. Скорость(при выше всего; вся работа должно происходить "плавно" и без типичных для android-приложений "подлагиваний")
3. Элементарность и простота в использовании(все дожно быть просто и ясно, чтобы человек любого возраста смог без затруднений разобраться в приложении и найти нужную ему функцию)
#TODO List
# TODO List
1. Разобраться с работой VK API
2. Создание шаблона будущего приложения
3. Проектрирование архитектуры
4. Написание сервера
5. Верстка клиента
6. Функционирование клиента
#VK API
# VK API
VK API предоставляет всю необходимую информацию для работы с группами, но 16 декабря 2016 года VK отключила поддержку Audio API(из-за монетизация ИМХО). Придется парсить аудиозаписи посредством магии PHP(со стороны сервера), для этого придется предварительно просить людей включить общий доступ к аудиозаписям(естественно не все последуют совету, но это все, что мы можем сделать в данной ситуации).

##Для работы с группами можно использовать следующие методы(список может пополняться):##
## Для работы с группами можно использовать следующие методы(список может пополняться):##
1. [Для узнавания определенных групп пользователя](https://vk.com/dev/groups.getCatalog)
2. [Для поиска каталог пользователя](https://vk.com/dev/groups.getMembers)
3. [Здесь можно организовать интересующий нас поиск записей](https://vk.com/dev/groups.search)


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

##Насчет получения личной информации##
## Насчет получения личной информации##
В VK API для этих целей есть специальный [метод](https://vk.com/dev/account.getInfo), думаю, его хватит с головой.

#Разработка
# Разработка
Разработка ведется на Django(веб-фреймворк написанный на Python) и React.js(MVC написанный на JS компанией Facebook).
Разработка сервера будет осуществлятся на Python.


#WEB-версия
# WEB-версия

## Веб-сервер:
Веб-сервер написан на Django с использованием Django-REST-Framework и Django-JWT(Json Web Token)
При любых запросах браузера сервер ведет на одну `view` (Index), в котором находятся только метатеги, тайтл и подключение скриптов с css-файлами
Обработкой отображения занимается app.js(отрендеренная версия для отображения в браузерах, который не поддерживают новый формат ES15)
Обработкой отображения занимается app.js
Т.е. все происходит на одной странице, это так называемая `SPA` (Single Page Application)
Сделано это для того, чтобы страница не перезагружалась, т.к. мы будем подключаться к серверу(с помощью технологии websocket) один раз, передавая ему свой token и имела огромную скорость загрузки(см. постулат 2), которая реализуется с помощью виртуального DOM-дерева, при изменении которого React.js просматривает реальное DOM-дерево и изменяет минимальный кусок кода для его идентичного представления
Для получения token'а и другого рода информации(например id-пользователя, его личные переписки, настройки и доступ к данным) мы используем Django REST API
Expand All @@ -63,4 +67,4 @@ Django REST API - это фреймворк, который позволяет
Для обработки запросов используется класс `Route`, которому в property `path` нужно передать регулярное выражение страницы
Для запросов к `DRF` используется функция `fetch()`, в которую первым параметром передаются `url` запроса, а во вторую словарь с параметрами

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

0 comments on commit 76f8159

Please sign in to comment.