Skip to content

sunflower-odd/java-market

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Market

Интернет-магазин Web-market, реализованный на Java Servlets и JSP. Подготовлен в рамках итогового проекта 'Разработка веб-приложения “Интернет-магазин”' по курсу "Программирование на Java: создание современных веб-приложений".

Технологии

  • Java 17
  • Servlets / JSP
  • MySQL
  • Flyway (миграции БД)
  • Maven
  • Tomcat 9

Функционал

В проекте реализованы 2 роли для пользователей: Пользователь и Администратор, которые обладают различными правами доступа и функционалом.

Пользователь:

  • Регистрация и авторизация
  • Просмотр товаров
  • Добавление товаров в корзину
  • Оформление заказов
  • Просмотр истории заказов

Администратор:

  • Управление товарами (CRUD)
  • Управление пользователями

Запуск проекта

  1. Подготовить базу данных MySQL:
  • Удостовериться что MySQL установлен и запущен на вашем компьютере.
  • Создать базу данных MySQL web_market
CREATE DATABASE web_market;
  • Создать технического пользователя app_user под которым будет ходить приложение в БД:
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'password';
  • Дать права техническому пользователю app_user на эту базу данных:
GRANT ALL PRIVILEGES ON web_market.* TO 'app_user'@'localhost';
  1. Подгтовить Tomcat: Удостовериться что Tomcat установлен и запущен на вашем компьютере. Перейти в папку Tomcat cd /path/to/ваша_директория_с_tomcat/bin Запустить сервер ./startup.sh (Linux/Mac) или startup.bat (Windows) (остановить - ./shutdown.sh)
  2. Миграции выполняются автоматически при запуске приложения
  3. Собрать проект:
  • mvn clean package - сбилдить проект и создать WAR файл в папке target
  • cp target/java-market.war ~/ваша_директория_с_tomcat/webapps/ - скопировать WAR файл в папку webapps Tomcat
  1. Открыть браузер и перейти по адресу http://localhost:8080/java-market
  2. Зарегистрироваться и начать пользоваться приложением!
  3. Для того, чтобы зайти в админ панель, используем учетные данные по умолчанию:
  • Логин: admin
  • Пароль: admin123

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

  • src/main/java - Java код приложения (сервлеты, модели, DAO)
  • src/main/webapp - JSP страницы и статические ресурсы (CSS, JS)
  • src/main/resources - Конфигурационные файлы и миграции Flyway
  • pom.xml - Конфигурация Maven
  • README.md - Документация проекта

Debugging

Делаем вывод интересующих нас параметров в консоль, и логи Tomcat можно найти в папке logs внутри директории Tomcat. tail -n 200 ~/ваша_директория_с_tomcat/logs/catalina.out - вывод последних 200 строк логов Tomcat для отладки и поиска ошибок. После изменения кода, не забываем пересобрать проект и перезапустить Tomcat для применения изменений.

Будущие доработки (сейчас не реализованы):

  • Реализация функционала создания доставок (есть Beans и Service файлы, но не реализовано в контроллерах и интерфейсе)
  • Категории реализованы, есть фильтрация, но нет просмотра каталога категорий
  • Логирование реализовано не оптимально
  • Реализация системы отзывов и рейтингов для товаров
  • есть заготовки для будущего функционала, которые пока не используются

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

  • Шипетина Ольга Сергеевна, студентка 1 курса магистратуры МФТИ "Разработка ИТ-продукта"
  • контакты: @shipetinao (Telegram)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors