/weather-spring-mvc

Web-MVC weather tracker [Java, Spring-MVC, Spring Security, JDBC, FlyWay, Bootstrap 5]

Primary LanguageJava

Навигация:

1. Описание
2. Технологии
3. Быстрый старт
4. Взаимодействие с приложением
5. Автор проекта


Технологии:

Java Maven Git Lombok

Apache Tomcat Spring Spring

Postgres JDBC FlyWay

Bootstrap


Описание:

MVC-Tracker – это простой трекер погоды, базирующийся на Spring-MVC(S) паттерне.

Реализован следующий функционал:
  • Регистрация, аутентификация и авторизация пользователя с помощью Spring Security.
  • Поиск локаций по названию, добавление их к себе.
  • Отображение текущего состояния погоды для каждой локации пользователя.

Для получения локаций и погоды для них используется сторонний API: openweathermap.org

main_page.png

Базовое ТЗ и идею проекта можно прочитать тут: ссылка
Проект выполнен с расхождением от изначального ТЗ: использован Spring фреймворк.

(↑ Наверх)


Быстрый старт:

  • Клонируйте репозиторий:
    git clone https://github.com/grishuchkov/weather-spring-mvc.git

  • Для запуска проекта нужно скачать веб-сервер Apache Tomcat.
    В проекте используется javax.servlet, а не jakarta.servler. Этот нюанс стоит учитывать, при выборе версии Apache Tomcat. При разработке использовался Tomcat 9.0.29, скачать с официального сайта.

  • Для конфигурации нужно выполнить следующие шаги: Edit Configuration -> Add New Configuration -> Tomcat Server (local).
    В открывшемся окне нужно выбрать Configure, затем указать Tomcat base directory, после чего нажать fix -> war-exploded.

  • Затем нужно заполнить properties-файлы. Файл с данными для базы-данных уже сформирован database.properties, вам нужно поменять данные на свои. Для инициализации базы данных с дефолтными параметрами можно использовать:docker-compose.yml.
    Запуск данного файла осуществляется консольной командой docker-compose up -d

  • Следующим шагом нужно создать файл на основе api.properties.origin, вставив свой openweather.token. Получить его можно тут: openweathermap.org

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

(↑ Наверх)


Взаимодействие с приложением:

При запуске приложения существует дефолтный пользователь:

Логин Пароль
user 100
  • /login - открывает старицу аутентификации.
  • /register - открывает старицу регистрации.
  • После аутентификации доступна страница /main

На главной странице есть несколько действий:

  • Просмотр погоды для тех локаций, что есть у пользователя.
  • Log Out - выход из аккаунта.
  • Search location - поиск локации по имени, при вызове которой осуществляется отображение всех найденных локаций с таким именем. Локацию можно доавить к себе, нажав кнопку Add location. Затем снова осуществляется redirect на страницу /main.

location_page.png


Автор проекта: Grishuchkov Danila

Данный репозиторий является реализацией учебного проекта из курса Java Backend Learning