Интернет-магазин Web-market, реализованный на Java Servlets и JSP.
Подготовлен в рамках итогового проекта 'Разработка веб-приложения “Интернет-магазин”' по курсу "Программирование на Java: создание современных
веб-приложений".
- Java 17
- Servlets / JSP
- MySQL
- Flyway (миграции БД)
- Maven
- Tomcat 9
В проекте реализованы 2 роли для пользователей: Пользователь и Администратор, которые обладают различными правами доступа и функционалом.
- Регистрация и авторизация
- Просмотр товаров
- Добавление товаров в корзину
- Оформление заказов
- Просмотр истории заказов
- Управление товарами (CRUD)
- Управление пользователями
- Подготовить базу данных 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';- Подгтовить Tomcat: Удостовериться что Tomcat установлен и запущен на вашем компьютере. Перейти в папку Tomcat cd /path/to/ваша_директория_с_tomcat/bin Запустить сервер ./startup.sh (Linux/Mac) или startup.bat (Windows) (остановить - ./shutdown.sh)
- Миграции выполняются автоматически при запуске приложения
- Собрать проект:
mvn clean package- сбилдить проект и создать WAR файл в папке targetcp target/java-market.war ~/ваша_директория_с_tomcat/webapps/- скопировать WAR файл в папку webapps Tomcat
- Открыть браузер и перейти по адресу http://localhost:8080/java-market
- Зарегистрироваться и начать пользоваться приложением!
- Для того, чтобы зайти в админ панель, используем учетные данные по умолчанию:
- Логин: admin
- Пароль: admin123
- src/main/java - Java код приложения (сервлеты, модели, DAO)
- src/main/webapp - JSP страницы и статические ресурсы (CSS, JS)
- src/main/resources - Конфигурационные файлы и миграции Flyway
- pom.xml - Конфигурация Maven
- README.md - Документация проекта
Делаем вывод интересующих нас параметров в консоль, и логи Tomcat можно найти в папке logs внутри директории Tomcat.
tail -n 200 ~/ваша_директория_с_tomcat/logs/catalina.out - вывод последних 200 строк логов Tomcat для отладки и поиска ошибок.
После изменения кода, не забываем пересобрать проект и перезапустить Tomcat для применения изменений.
- Реализация функционала создания доставок (есть Beans и Service файлы, но не реализовано в контроллерах и интерфейсе)
- Категории реализованы, есть фильтрация, но нет просмотра каталога категорий
- Логирование реализовано не оптимально
- Реализация системы отзывов и рейтингов для товаров
- есть заготовки для будущего функционала, которые пока не используются
- Шипетина Ольга Сергеевна, студентка 1 курса магистратуры МФТИ "Разработка ИТ-продукта"
- контакты: @shipetinao (Telegram)