Вопросы
martin

База данных для интернет-магазина

Мне дали дипломный проект сделать простой интернет-магазин. Сам сайт уже сверстал, но я абсолютно не понимаю как сделать и привязать к нему базу данных к сайту, написанному на HTML/CSS.

Я уже гуглил, но все что нашел это то, что сейчас интернет-магазины делают с Wordpress, opencart (нам запретили делать через CMS), или вручную в php+mysql (а я абсолютно нулевой в php, даже сам html изучил только несколько месяцев назад). Пожалуйста помогите советом, как и через что делать.

0
17 комментариев
Написать комментарий...
Аккаунт заморожен

Комментарий недоступен

Ответить
Развернуть ветку
Sergey

Если это всё должно быть только на html и css, то вряд ли подразумевалась какая-то база, ибо даже имея базу, ты её не выведешь на одном html, надо хотя бы js или php. Потому, как я думаю, сделать просто карточки товаров на странице вручную. Покажи хоть само задание, возможно там бд не требуется.

Ответить
Развернуть ветку
Алексей Ксензов

Все там можно, "просто" печатаешь страничку как текстовый файл с помощью проги на любом языке, который сервак исполняет и скармливаешь в ответ на запрос. Web1.0 и cgi-bin, все дела.

Ответить
Развернуть ветку
Alexander Filichev

Создать интернет-магазин, используя только HTML/CSS, невозможно. Это даже не языки программирования, это просто инструменты разметки текста. Они нужны только для красивого отображения информации, присланной бэкендом.

Я не знаю, какое у тебя задание, если тебе просто надо отобразить список товаров, без возможности добавления товаров в корзину и создания заказа, то воспользуяся советом, данным выше - внедри js и читай им json файлик с товарами. Если более сложный функционал все-таки требуется - php самый простой способ его реализовать. У этого языка низкий порог вхождения, в интернете куча туториалов.

Ответить
Развернуть ветку
Е - баллы ПФР
дипломный проект

И не объяснили как делать интернет магазин?

Ответить
Развернуть ветку
AttentiveMilk .

Российские ВУЗы – ебись как хочешь

Ответить
Развернуть ветку
Аяз Гулиев

я не поверю, что в ВУЗе не учили кодить и взаимодействовать с бд (учитывая, что в это мокают уже на первом курсе)

Ответить
Развернуть ветку
Yura Svinaryov

не поверишь...

Ответить
Развернуть ветку
Медицинский Орзэмэс

HTML/CSS - это только фронт, "шкура" магазина. Шкуру надо натянуть на скелет - бекенд. С сайта делать запросы проще всего через AJAX, он же XmlHttpRequest. Тебе будет проще, если сервер/бекенд будет отдавать данные в JSON, их проще парсить через JavaScript на фронте.

Какая у тебя платформа? Желательно тебе поднять виртуальную машину с дебианом 10-11 или убунтой 20.04 и выше. На винде не пиши, это мучение и трата времени и нервов. Линукс для разработки - маст хэв.

Далее, что у тебя за база? Ты её уже имеешь на руках, или её ещё надо сделать? Знаком с такими понятиями, как DDL/DML? Если базы нет, самым простым вариантом будет использовать файловую СУБД типа SQLite. Есть ещё PostgreSQL, MSSQL (не рекомендую, мучение на винде что-то настраивать), MariaDB. MySQL не используй в 2022, он устарел, даже универские преподы могут тебе на это указать.

Ещё пункт, с какими языками программирования знаком?
PHP - тут я не подскажу, сам никогда не писал на нём, но в комментах накидали уже примеры. Не читай гайды по PHP 5, он устарел, смотри PHP 7 (или какой сейчас самый популярный?)

Java - тут может быть сложновато, я в 2015-2016 разворачивал сервлеты (это Java Enterprise Edition) в Oracle Glassfish. Много мороки с настройкой сервера было, можно обойтись одним Apache Tomcat. У Java есть удобный интерфейс для работы с базами данных, называется JDBC. В глассфише есть удобная админка для настройки контейнеров, сервлетов, соединений с базами данных и тп.

JavaScript - копай в сторону Node.js, должны быть библиотеки для работы с базами данных.

Python - тут раздолье, куча фреймворков для серверов, куча фреймворков для СУБД.

Твоя задача, как я понял из твоих записей - сделать простейший сервер, который будет по запросу выдавать массив данных, которые он достанет из СУБД. Также у тебя должен быть механизм авторизации клиентов магазина. Авторизацию можно решить путём ведения таблички с пользователями и данными для входа (ни в коем случае не храни пароли в таблице в открытом виде и не используй MD5 для хэширования, он не считается безопасным). Используй хэширование с солью (погугли). Сессию у клиента можно реализовать через куки с единственным индентификатором, можно вести дополнительную табличку с этими куками, управлять их временем жизни.

Ответить
Развернуть ветку
ivdok
MySQL не используй в 2022, он устарел

Вот тут с утверждением не согласен. Он хоть и медленнее, но развивается (например в 8.0 подвезли шифрование на диске aka encryption at rest), да и в MariaDB монти уже начал какую-то отсебятину пихать, и она теперь не то что с 8.0, но и как прямая замена 5.7 не подходит, логика запросов другая. Если есть возможность продумать архитектуру с самого начала, лучше брать PostgreSQL. Те причины, по которым машка была популярна в начале нулевых (например быстрее время до первого коннекта) больше не актуальны, а количество фич и расширений гораздо больше.

Много мороки с настройкой сервера было, можно обойтись одним Apache Tomcat

Коллеги очень сильно рекомендовали Jetty и Spring Boot, но тут у меня нет экспертизы, чтобы подробнее объяснить почему.

Сессию у клиента можно реализовать через куки с единственным индентификатором, можно вести дополнительную табличку с этими куками, управлять их временем

Обратите внимание на JWT (https://en.wikipedia.org/wiki/JSON_Web_Token). Можно использовать и для авторизации, и для хранения других параметров, и валидации источника токена. Для диплома может быть оверкилл, но для демо или даже прода очень даже ничего.

Ответить
Развернуть ветку
Медицинский Орзэмэс

Ну я с MySQL только в универе работал, тогда и были эти советы переходить на мариюдб.
Постгрес крут, но ТСу может быть реально проще sqlite базу сделать в качестве концепта.

Ответить
Развернуть ветку
AttentiveMilk .
нам запретили делать через CMS

Заебись, хуле. Разработка подорожала примерно в 20 раз

Ответить
Развернуть ветку
Е - баллы ПФР
Ответить
Развернуть ветку
Key Game

PHP довольно простой язык. Уроков по нему много, но я не один не смотрел) Сам движки ковырял, так и изучил. Но ушло много времени.

Ответить
Развернуть ветку
kinoprorok

Express.js, mongodb

Ответить
Развернуть ветку
Алексей Ксензов

Значит обойдешься без диплома, делов-то.

Ответить
Развернуть ветку
muunu

Теперь возьми всё, что ты написал, добавь к этому Django, подучи Python, разверни базу данных (Например PostgreSQL), запусти миграциии и делай что хочешь.

Страница на HTML-е это по современным меркам не сайт.
А вообще, нужно понимать какое у тебя задание было изначально.

Без динамической генерации контента тут никак не обойтись. Придётся какой-то язык программирования осваивать. Без этого никак.

Ответить
Развернуть ветку
Читать все 17 комментариев
null