database-diagram.jpg
89.6 KB
Недавно немного переделал структуру предметной области (домен) - потребовалось добавить некоторые дополнительные сущности. Изменений немного, но также пришлось переделать структуру базы данных. Диаграмма схемы данных также представлена ниже, хоть она и не соответствует всем нормам построение ERD диаграмм, но это будет исправлено позже, на этапе составления окончательной технической документации к проекту.
Из текущих задач самой основной является разработка именно серверной стороны: необходимо продумать логику взаимодействия с данными в базе данных, добавить необходимые модели для взаимодействия с клиентом и создать маршруты API для вызова необходимых методов.
Клиентская сторона несложна в реализации, так как большая часть (если не вся) будет сосредоточена на бэкенде.
Из текущих задач самой основной является разработка именно серверной стороны: необходимо продумать логику взаимодействия с данными в базе данных, добавить необходимые модели для взаимодействия с клиентом и создать маршруты API для вызова необходимых методов.
Клиентская сторона несложна в реализации, так как большая часть (если не вся) будет сосредоточена на бэкенде.
👍1
Всем привет!
Сегодня наконец-то дошел до реализации работы с базой данных. Из-за того, что схема базы данных в определенной степени нормализована (не буду углубляться до какой нормальной формы конкретно), практически все данные конкретных сущностей разбиты на несколько таблиц, из-за чего было принято решение использовать хранимые процедуры для работы с данными. Они отвечают только за операции с данными, логика вся содержится в коде и компонент работы с данными вынесен отдельно и предоставлен интерфейс для работы с ним через специальные классы - репозитории.
Из-за определенных особенностей в PostrgreSQL и маппинга данных с сущностям в проекте, необходимо было сначала сделать пробный вариант с реализацией всех CRUD-операций хотя бы над одной сущностью. Для этого была выбрана сущность статьи (`Article`). Прошло достаточно успешно - всё работает исправно.
Далее необходимо реализовать взаимодействие с данными остальных сущностей и можно будет считать, что первая версия API для клиентского приложения будет готова. После этого можно будет уже заняться созданием пользовательского интерфейса.
Сегодня наконец-то дошел до реализации работы с базой данных. Из-за того, что схема базы данных в определенной степени нормализована (не буду углубляться до какой нормальной формы конкретно), практически все данные конкретных сущностей разбиты на несколько таблиц, из-за чего было принято решение использовать хранимые процедуры для работы с данными. Они отвечают только за операции с данными, логика вся содержится в коде и компонент работы с данными вынесен отдельно и предоставлен интерфейс для работы с ним через специальные классы - репозитории.
Из-за определенных особенностей в PostrgreSQL и маппинга данных с сущностям в проекте, необходимо было сначала сделать пробный вариант с реализацией всех CRUD-операций хотя бы над одной сущностью. Для этого была выбрана сущность статьи (`Article`). Прошло достаточно успешно - всё работает исправно.
Далее необходимо реализовать взаимодействие с данными остальных сущностей и можно будет считать, что первая версия API для клиентского приложения будет готова. После этого можно будет уже заняться созданием пользовательского интерфейса.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Всем привет!
Сегодня решил немного заняться интерфейсом. Первым делом, сделал версию для мобильных устройств. Также начал добавлять взаимодействие по API с серверной частью.
Сегодня решил немного заняться интерфейсом. Первым делом, сделал версию для мобильных устройств. Также начал добавлять взаимодействие по API с серверной частью.
👍1
Сегодня выкатил целый релиз, версию назвал v0.1.1.
Не скажу, что это конечный проект. Честно говоря, просто хотелось уже выкатить хоть какой-то результат на сервер
На данный момент реализованы все методы отображения данных: статей, новостей, категорий статей и авторов статей. Из прочих доработок могу выделить следующее:
- Добавлены индикаторы загрузки контента, а также надпись, если в данный момент никакого контента нет. В дальнейшем можно сделать анимацию загрузки в стиле “skeleton screen”;
- Немного поправлены стили некоторых элементов.
Жаль, пока что их нельзя посмотреть, потому что нет самих данных. Но, возможно, в ближайшее время постараюсь добавить хотя бы какие-то тестовые данные.
Из предстоящих доработок есть следующие вещи:
- Реализация ролей. То есть у каждого пользователя будет список ролей и в зависимости от этого им будут доступны различные действия в системе (*об этом в следующих пунктах*);
- Реализация создания и добавления новых статей, а также загрузки документов для прикрепления к статье (для обычных авторизованных пользователей);
- Реализация проверки статей и допуск их к показу других пользователей (проверяющие пользователи);
- Реализация добавления новых новостей и категорий для статей (для администраторов).
На данный момент есть идеи как это всё будет выглядеть, так что в свободное время продолжаю дальше дорабатывать систему.
Не скажу, что это конечный проект. Честно говоря, просто хотелось уже выкатить хоть какой-то результат на сервер
На данный момент реализованы все методы отображения данных: статей, новостей, категорий статей и авторов статей. Из прочих доработок могу выделить следующее:
- Добавлены индикаторы загрузки контента, а также надпись, если в данный момент никакого контента нет. В дальнейшем можно сделать анимацию загрузки в стиле “skeleton screen”;
- Немного поправлены стили некоторых элементов.
Жаль, пока что их нельзя посмотреть, потому что нет самих данных. Но, возможно, в ближайшее время постараюсь добавить хотя бы какие-то тестовые данные.
Из предстоящих доработок есть следующие вещи:
- Реализация ролей. То есть у каждого пользователя будет список ролей и в зависимости от этого им будут доступны различные действия в системе (*об этом в следующих пунктах*);
- Реализация создания и добавления новых статей, а также загрузки документов для прикрепления к статье (для обычных авторизованных пользователей);
- Реализация проверки статей и допуск их к показу других пользователей (проверяющие пользователи);
- Реализация добавления новых новостей и категорий для статей (для администраторов).
На данный момент есть идеи как это всё будет выглядеть, так что в свободное время продолжаю дальше дорабатывать систему.
👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня добавил анимацию загрузки элементов, так процесс загрузки данных происходит нагляднее.
Пока продолжаю делать страницу профиля пользователя.
После этого планирую заняться админкой
Пока продолжаю делать страницу профиля пользователя.
После этого планирую заняться админкой
❤1👍1🥰1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Новый релиз v0.2.0
Из существенных изменений:
- Сделал страницу аккаунта пользователя. На ней есть две другие страницы: профиль и “мои статьи”. На странице профиля отображается основная информация о пользователе (пока что без возможности редактирования). На странице статей отображаются все статьи, в которых текущий пользователь указан как автор;
- Добавил поддержку PWA или просто web-apps. Если в кратце, то теперь при переходе на сайт, можно сохранить его на свое устройство и оно будет вести себя как native-like, то есть будто бы это простое мобильное приложение (позже добавлю видео-примеры).
Из минорных обновлений:
- Добавлена анимация загрузки основного контента.
Из существенных изменений:
- Сделал страницу аккаунта пользователя. На ней есть две другие страницы: профиль и “мои статьи”. На странице профиля отображается основная информация о пользователе (пока что без возможности редактирования). На странице статей отображаются все статьи, в которых текущий пользователь указан как автор;
- Добавил поддержку PWA или просто web-apps. Если в кратце, то теперь при переходе на сайт, можно сохранить его на свое устройство и оно будет вести себя как native-like, то есть будто бы это простое мобильное приложение (позже добавлю видео-примеры).
Из минорных обновлений:
- Добавлена анимация загрузки основного контента.
👍3❤1🥰1
Всем привет!
За последнее время сделал не так много.
В общем, выпустил новый пре-релиз v0.2.2:
- Добавил т.н. футер - блок внизу сайта с навигацией по сайту (повторяет меню навигации сверху) и контактами, пока что только моими, позже добавлю ещё;
- Немного поправил код логики проекта;
- Поправил стили при открытии статьи (пока что нельзя посмотреть, потому что нет статей на сайте самом);
Также настроил бота в телеграме - было интересно поработать с ним. Пока что он просто отвечает одним сообщением, но основная его задумка - это отправка уведомлений о новостях в системе.
Ссылка на бота - @ScienceArchiveBot
За последнее время сделал не так много.
В общем, выпустил новый пре-релиз v0.2.2:
- Добавил т.н. футер - блок внизу сайта с навигацией по сайту (повторяет меню навигации сверху) и контактами, пока что только моими, позже добавлю ещё;
- Немного поправил код логики проекта;
- Поправил стили при открытии статьи (пока что нельзя посмотреть, потому что нет статей на сайте самом);
Также настроил бота в телеграме - было интересно поработать с ним. Пока что он просто отвечает одним сообщением, но основная его задумка - это отправка уведомлений о новостях в системе.
Ссылка на бота - @ScienceArchiveBot
❤2❤🔥1👍1
Новый релиз v0.3.0
Из нововведений:
- Добавил страницу администратора, она пока что полупустая - есть только одна функция (следующий пункт);
- Добавлена возможность создания новостей (вкладка News на сайте).
На данный момент добавлена одна новость, посмотреть можно по ссылке: https://science-archive.ru/main/news
Это достаточно важная функция, потому что, как минимум, теперь на сайте есть возможность добавлять хоть какой-то контент.
Также, в связи с добавлением такой панели администрирования, пришлось немного переосмыслить работу с авторизацией на сайте. Она всё также не идеальна, в будущем буду пересматривать глубже.
Из дальнейших функций планируется следующее:
- Соответственно, редактирование и удаление новостей;
- Добавление функций работы со статьями, то есть их написание. Там надо будет выстроить процесс публикации статей, так что это будет отдельная задача;
- Также надо будет добавить список категорий (по аналогии с сайтом-вдохновителем системы).
Из нововведений:
- Добавил страницу администратора, она пока что полупустая - есть только одна функция (следующий пункт);
- Добавлена возможность создания новостей (вкладка News на сайте).
На данный момент добавлена одна новость, посмотреть можно по ссылке: https://science-archive.ru/main/news
Это достаточно важная функция, потому что, как минимум, теперь на сайте есть возможность добавлять хоть какой-то контент.
Также, в связи с добавлением такой панели администрирования, пришлось немного переосмыслить работу с авторизацией на сайте. Она всё также не идеальна, в будущем буду пересматривать глубже.
Из дальнейших функций планируется следующее:
- Соответственно, редактирование и удаление новостей;
- Добавление функций работы со статьями, то есть их написание. Там надо будет выстроить процесс публикации статей, так что это будет отдельная задача;
- Также надо будет добавить список категорий (по аналогии с сайтом-вдохновителем системы).
❤3❤🔥1🥰1
Всем привет!
Последнее время занимаюсь довольно серьезной доработкой. Временами выпускал небольшие обновления, но они не касались работы сервиса, а нужны были для второстепенных задач, поэтому не стал о них писать. Надеюсь, что скоро смогу выложить новый полноценный релиз.
Сегодня хотел бы рассказать о том, что планируется в целом по системе из доработок и улучшений. Я планирую сделать всё в два этапа:
1 Этап:
- Добавление возможности создания статей. То есть полноценный процесс по написанию статьи с загрузкой сопутствующих документов (как раз в данный момент этим и занимаюсь);
- Создание в панели админа возможности одобрения или отказа в публикации статьи;
- Улучшения в части авторизации и управления учетной записью;
- Добавление локализации для разных языков (русский и английский);
- Если по ходу еще придут в голову другие идеи, то можно будет сделать и их;
2 Этап
- Разбиение системы на микросервисы с коммуникацией между ними (на данный момент система - просто монолит);
- Введение одного сервиса авторизации для всех остальных сервисов;
- Перевод клиентской части на SSR для оптимизации SEO (короче, для того, чтобы сайт отдавался в поисковиках);
По итогу, на первом этапе я планирую получить заготовку с реализованной бизнес-логикой и построенной доменной моделью в рамках одного проекта. На втором этапе уже приступить к полноценному рефакторингу всего сделанного для общих улучшений показателей сервиса.
Последнее время занимаюсь довольно серьезной доработкой. Временами выпускал небольшие обновления, но они не касались работы сервиса, а нужны были для второстепенных задач, поэтому не стал о них писать. Надеюсь, что скоро смогу выложить новый полноценный релиз.
Сегодня хотел бы рассказать о том, что планируется в целом по системе из доработок и улучшений. Я планирую сделать всё в два этапа:
1 Этап:
- Добавление возможности создания статей. То есть полноценный процесс по написанию статьи с загрузкой сопутствующих документов (как раз в данный момент этим и занимаюсь);
- Создание в панели админа возможности одобрения или отказа в публикации статьи;
- Улучшения в части авторизации и управления учетной записью;
- Добавление локализации для разных языков (русский и английский);
- Если по ходу еще придут в голову другие идеи, то можно будет сделать и их;
2 Этап
- Разбиение системы на микросервисы с коммуникацией между ними (на данный момент система - просто монолит);
- Введение одного сервиса авторизации для всех остальных сервисов;
- Перевод клиентской части на SSR для оптимизации SEO (короче, для того, чтобы сайт отдавался в поисковиках);
По итогу, на первом этапе я планирую получить заготовку с реализованной бизнес-логикой и построенной доменной моделью в рамках одного проекта. На втором этапе уже приступить к полноценному рефакторингу всего сделанного для общих улучшений показателей сервиса.
👍2❤1🔥1🥰1
Новый релиз v0.4.0
Под конец года успел доделать новую версию системы. С данного момента она представляет собой полноценную систему для публикации статей. Не идеальную, потому что планов и возможностей для доработок в ней еще очень много.
Это достаточно важный релиз, начиная с которого можно считать, что система уже готова к работе.
Актуальные новости можно также посмотреть в разделе новостей системы.
Из значимых изменений можно выделить следующее:
- Добавлен новый шрифт для отображения кириллицы;
- Добавлена возможность для создания статей для авторизованных пользователей;
- Добавления возможности для администраторов одобрения или отклонения статей;
- Изменен способ получения статей на основной странице. Теперь отдаются только одобренные для публикации статьи;
- Создан отдельный микросервис для загрузки и чтения прикрепленных документов к статьям;
Из прочих обновлений:
- Незначительные улучшения в логировании запросов к сервису;
- Улучшения в части авторизации в системе;
Также, в ближайших планах стоят следующие пункты:
- Добавление локализации на сайт для русского языка;
- Прочие улучшения в части авторизации;
На данный момент, это всё. Всех с наступующим!
Под конец года успел доделать новую версию системы. С данного момента она представляет собой полноценную систему для публикации статей. Не идеальную, потому что планов и возможностей для доработок в ней еще очень много.
Это достаточно важный релиз, начиная с которого можно считать, что система уже готова к работе.
Актуальные новости можно также посмотреть в разделе новостей системы.
Из значимых изменений можно выделить следующее:
- Добавлен новый шрифт для отображения кириллицы;
- Добавлена возможность для создания статей для авторизованных пользователей;
- Добавления возможности для администраторов одобрения или отклонения статей;
- Изменен способ получения статей на основной странице. Теперь отдаются только одобренные для публикации статьи;
- Создан отдельный микросервис для загрузки и чтения прикрепленных документов к статьям;
Из прочих обновлений:
- Незначительные улучшения в логировании запросов к сервису;
- Улучшения в части авторизации в системе;
Также, в ближайших планах стоят следующие пункты:
- Добавление локализации на сайт для русского языка;
- Прочие улучшения в части авторизации;
На данный момент, это всё. Всех с наступующим!
Всем привет!
Было нечем особо заняться, решил накидать небольшой логотип, а то приходилось искать в интернете варианты какие-то. Не сказать, что супер вышло, но на первое время пойдет
Было нечем особо заняться, решил накидать небольшой логотип, а то приходилось искать в интернете варианты какие-то. Не сказать, что супер вышло, но на первое время пойдет
🔥1
Всем привет!
Последние 4 месяца находилось мало свободного времени, из-за чего пришлось отложить работу над проектом. Но всё же некоторые изменения уже готовятся. Они преимущественно будут связаны с улучшениями на стороне сервера. Клиентские (визаульные) доработки тоже будут, но позже.
Вот список планируемых в ближайшей перспективе:
- Добавить уведомления. Для этого сделан уже отдельный микросервис, останется только включить его. Они будут использоваться как для внутренних уведомлений (например, новые статьи за день, смена статуса проверки статьи и тд), так и специальных, связанных с авторизацией;
- Собственно, доработка системы авторизации. Планируется задействовать в этом систему уведомлений;
- Добавление локализации (на стороне сервера). Для этого также надо будет добавить сохранение в базу локализации для существующих пользователей.
Последние 4 месяца находилось мало свободного времени, из-за чего пришлось отложить работу над проектом. Но всё же некоторые изменения уже готовятся. Они преимущественно будут связаны с улучшениями на стороне сервера. Клиентские (визаульные) доработки тоже будут, но позже.
Вот список планируемых в ближайшей перспективе:
- Добавить уведомления. Для этого сделан уже отдельный микросервис, останется только включить его. Они будут использоваться как для внутренних уведомлений (например, новые статьи за день, смена статуса проверки статьи и тд), так и специальных, связанных с авторизацией;
- Собственно, доработка системы авторизации. Планируется задействовать в этом систему уведомлений;
- Добавление локализации (на стороне сервера). Для этого также надо будет добавить сохранение в базу локализации для существующих пользователей.
👍2❤1🔥1🥰1
Всем привет!
Совсем скоро готовится релиз v1.0
В связи с этим, сервис будет недоступен какое-то время, потому что изменения касаются абсолютно всего: серверной части, клиентской части, а также базы данных и взаимодействия сервисов.
Среди добавленных, исправленных и улучшенных вещей:
- Полностью переписан клиентская часть (можете оценить приложенные скрины), улучшена поддержка мобильных устройств, добавлены некоторые дополнительные страницы для отображения статуса ошибок;
- Добавлено подтверждение электронной почты при регистрации;
- Добавлена локализация для сайта. Поддерживается русский и английский язык. На данный момент настройки берутся из настроек бразуера - изменить вручную нельзя;
- Почти полностью переписана серверная часть. Переделана архитектура главного сервиса, а также добавлены дополнительные микросервисы;
В скором времени, после того, как всё будет выложено, я опишу детальнее что и как было сделано с технической стороны
Совсем скоро готовится релиз v1.0
В связи с этим, сервис будет недоступен какое-то время, потому что изменения касаются абсолютно всего: серверной части, клиентской части, а также базы данных и взаимодействия сервисов.
Среди добавленных, исправленных и улучшенных вещей:
- Полностью переписан клиентская часть (можете оценить приложенные скрины), улучшена поддержка мобильных устройств, добавлены некоторые дополнительные страницы для отображения статуса ошибок;
- Добавлено подтверждение электронной почты при регистрации;
- Добавлена локализация для сайта. Поддерживается русский и английский язык. На данный момент настройки берутся из настроек бразуера - изменить вручную нельзя;
- Почти полностью переписана серверная часть. Переделана архитектура главного сервиса, а также добавлены дополнительные микросервисы;
В скором времени, после того, как всё будет выложено, я опишу детальнее что и как было сделано с технической стороны
👍2❤1🔥1🥰1👏1
Вышла версия v1.0.0
Ознакомиться с ней можно по ссылке https://science-archive.ru
При авторизации нужно будет подтвердить аккаунт через электронную почту, которая была указана при регистрации.
В дальнейшем планируется создание мобильного приложения, ссылка на предварительную версию которого будет отправлена на подтвержденные адреса электронной почты.
Перед переходом на сайт, просьба почистить кеш браузера, потому что может загрузиться старая версия сайта.
Что касается системы, из дальнейших улучшений планируется:
- Добавления возможности редактирования профиля;
- Расширение возможностей в части управления и редактирования статей;
- Улучшения и исправления в части локализации;
- Улучшения в части авторизации.
Ознакомиться с ней можно по ссылке https://science-archive.ru
При авторизации нужно будет подтвердить аккаунт через электронную почту, которая была указана при регистрации.
В дальнейшем планируется создание мобильного приложения, ссылка на предварительную версию которого будет отправлена на подтвержденные адреса электронной почты.
Перед переходом на сайт, просьба почистить кеш браузера, потому что может загрузиться старая версия сайта.
Что касается системы, из дальнейших улучшений планируется:
- Добавления возможности редактирования профиля;
- Расширение возможностей в части управления и редактирования статей;
- Улучшения и исправления в части локализации;
- Улучшения в части авторизации.
❤2👍2🔥1🥰1
