Skip to content

Dmi4er4/100gram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

100gram

100gram представляет собой приложение, разработанное для обмена текстовыми сообщениями между пользователями. Он использует различные технологии и инструменты для обеспечения функциональности и удобства использования.

Архитектура проекта

Мессенджер построен на клиент-серверной архитектуре. Клиентская часть представлена веб-интерфейсом, разработанным с использованием Angular - популярного фреймворка JavaScript для построения пользовательских интерфейсов. Серверная часть реализована с использованием Java и работает на сервере Tomcat, который является контейнером сервлетов.

Используемые технологии

  • Redis: Redis используется в качестве базы данных для хранения сессий пользователей и обеспечения масштабируемости системы.
  • Angular: Angular используется для разработки клиентской части мессенджера, предоставляя удобный и интерактивный пользовательский интерфейс.
  • Tomcat: Tomcat используется в качестве сервера приложений для развертывания и обработки запросов к серверной части мессенджера.
  • REST API: REST API используется для обмена данными между клиентской и серверной частями мессенджера. Он определяет набор эндпоинтов и методов для создания, чтения, обновления и удаления сообщений и пользователей.
  • Swagger: Swagger используется для документирования и описания REST API. Он облегчает взаимодействие с API и предоставляет автоматическую генерацию клиентских SDK и документации.
  • PostgreSQL: PostgreSQL используется в качестве реляционной базы данных для хранения пользователей и сообщений.
  • Log4j2: Log4j2 используется для логирования действий и событий в мессенджере. Он обеспечивает детальную информацию о работе приложения и помогает отслеживать и исправлять возможные проблемы.

Установка и настройка

  • Установите Java Development Kit (JDK) и настройте переменные среды Java.
  • Установите и настройте сервер Tomcat для развертывания серверной части мессенджера.
  • Установите и настройте Redis для хранения сессий пользователей.
  • Установите PostgreSQL и настройте базу данных для хранения пользователей и сообщений.
  • Склонируйте репозиторий мессенджера и настройте его конфигурацию, указав параметры подключения к базе данных, Redis и другие настройки.

Разработка

  • Структура проекта:

    • Клиентская часть: содержит файлы исходного кода Angular приложения, компоненты пользовательского интерфейса, сервисы и модели данных.
    • Серверная часть: содержит исходный код Java-приложения, включающий контроллеры REST API, сервисы, модели данных и конфигурационные файлы.
  • Основные модули и компоненты:

    • Модуль аутентификации и авторизации: отвечает за аутентификацию пользователей и контроль доступа к функциональности мессенджера.
    • Модуль обмена сообщениями: обеспечивает функциональность создания, отправки и получения сообщений между пользователями.
    • Модуль управления пользователями: позволяет пользователям создавать, редактировать и удалять свои профили.
  • Стиль кода и соглашения:

    • Следуйте общепринятым соглашениям по именованию переменных, классов и методов.
    • Используйте архитектурные паттерны и принципы SOLID для обеспечения гибкости и расширяемости кода.
    • Документируйте код с помощью комментариев и Javadoc.

Тестирование

  • Стратегия тестирования:

    • Модульное тестирование: проверка отдельных компонентов и функций приложения.
    • Интеграционное тестирование: проверка взаимодействия между компонентами и системой в целом.
    • Тестирование API: проверка правильности работы REST API с использованием тестовых запросов и проверки ожидаемых результатов.
  • Инструменты тестирования:

    • JUnit: фреймворк для модульного тестирования Java-приложений.
    • Postman: инструмент для тестирования REST API с возможностью отправки запросов и проверки ответов.
    • Swagger UI: инструмент для тестирования и взаимодействия с API, сгенерированным с использованием Swagger.

Развёртывание и эксплуатация

  • Развертывание на сервере:

    • Соберите клиентскую и серверную части приложения.
    • Разверните серверную часть на сервере Tomcat.
    • Настройте прокси-сервер для доступа к мессенджеру из веб-интерфейса.
  • Масштабирование и оптимизация производительности:

    • Используйте кэширование Redis для ускорения доступа к данным и снижения нагрузки на базу данных.
    • Оптимизируйте запросы к базе данных для обеспечения эффективности и быстродействия.
    • Масштабируйте приложение, добавляя дополнительные экземпляры сервера Tomcat и балансировку нагрузки.
  • Резервное копирование и восстановление:

    • Регулярно создавайте резервные копии базы данных PostgreSQL и хранилища Redis.
    • Определите процедуры восстановления в случае сбоев или потери данных.

About

Command student project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published