Ссылка на сайт:
https://junior-fin-lessons.bcc.kz/ruВ рамках проекта я занимался разработкой backend-части веб-сайта, посвященного финансовым урокам, предназначенного для улучшения финансовой грамотности детей и подростков. Сайт предоставляет доступ к интерактивным урокам, которые обучают основам финансов через практические задания и игры.
Для реализации проекта были использованы следующие технологии:
- Java (Spring Boot): Основной фреймворк для разработки серверной части приложения. Spring Boot был выбран для упрощения конфигурации и быстрого запуска приложения.
- PostgreSQL: В качестве системы управления базами данных использовался PostgreSQL. Эта реляционная база данных обеспечивала хранение и управление данными о пользователях, уроках, прогрессе и других важных сущностях приложения.
- Hibernate: ORM-фреймворк, использованный для работы с базой данных. Hibernate обеспечивал маппинг Java объектов на таблицы базы данных, что значительно упростило взаимодействие с данными.
- Spring Data JPA: Для упрощения работы с базой данных и выполнения CRUD операций использовался Spring Data JPA, который позволял писать запросы к базе данных на высоком уровне абстракции.
- Docker: Проект был контейнеризирован с использованием Docker, что позволило создать изолированную и воспроизводимую среду для развертывания приложения.
- Spring Security: Для обеспечения безопасности и аутентификации пользователей применялся Spring Security, который защищал доступ к урокам и другим ресурсам сайта.
- Thymeleaf: Шаблонизатор, который использовался для генерации динамических HTML-страниц на сервере.
- REST API: Я реализовал RESTful API для обеспечения взаимодействия фронтенда с серверной частью. API предоставлял доступ к функциям регистрации, авторизации, получения и сохранения прогресса по урокам и другим операциям.
- Git: Для управления версиями кода и совместной разработки использовался Git.
- JUnit: Для написания и выполнения юнит-тестов, обеспечивающих высокое качество кода, использовался JUnit.
Этот проект позволил мне применить современные технологии и подходы в разработке веб-приложений, обеспечивая надежность, безопасность и масштабируемость решения.