Какие технологии применить в создании opensource сайта для подбора ПК комплектующих?
Доброго времени суток!
Работаю в другой индустрии, но хочу сделать opensource сайт, по подбору ПК комплектующих: видеокарта, центральный процессор и т.д. Прошу помощи в подборе технологий: на чём оптимально сделать, чтобы было меньше подводных камней? Ванильные HTML+CSS...+JS+Node? +React? +Python? Что-то ещё?
Предполагаю такую схему работы сайта: человек заходит на сайт, выбирает требующиеся параметры: для чего компьютер (игры, работа, сёрфинг), под какой монитор (full HD, 2k, 4k), ориетировочный бюджет (опционально). Нажимает "подобрать", ему выдаёт сборку, в которой объясняется "что это и для чего, как будет влиять",. Пользователь может поменять под себя детали сборки и сохранить параметры поиска (мб даже понадобится простенькая регистрация).
Мб понадобится функционал чтобы пользователи делали свои сборки, их будут Like`ать другие пользователи, и искателям будет предлагаться по параметрам альтернатива в виде популярной сборки от пользователя.
Новое оборудование будет заноситься вручную.
Спасибо за уделенное время!
Дополнительно:
А зачем, когда уже есть подбор/конфигуратор у Ситилинка и т.п.?!
Прошу помощи в подборе технологий: на чём оптимально сделать, чтобы было меньше подводных камней?
С помощью тех технологий, которые ты хорошо знаешь.
Никаких запредельных нагрузок тут нет ни по количеству данных, ни по вычислениям.
В теории можно даже всю работу с данными повесть на фронт.
Если ничего не знаешь - ну щито поделать, значит никакой ответ тебе тут не поможет.
Предполагаю такую схему работы сайта: человек заходит на сайт, выбирает требующиеся параметры: для чего компьютер (игры, работа, сёрфинг), под какой монитор (full HD, 2k, 4k), ориетировочный бюджет (опционально). Нажимает "подобрать", ему выдаёт сборку, в которой объясняется "что это и для чего, как будет влиять",.
Тебе следует начать с алгоритма, как это вообще будет происходить.
Далее - тебе нужно определиться с источником данных, тк врядли ты будешь руками ходить по сайтам разных вендоров и руками заполнять таблички и гонять бенчмарки на разных конфигурациях.
Новое оборудование будет заноситься вручную.
Ну ладно.
В целом тут:
Какой-то фреймворк для фронта. Я бы посмотрел на React + Next + Typescript, тк у тебя будет и много интерактива, который сложно будет сделать на каком-нибудь jq, и при этом явно захочется хорошую индексацию поисковиками.
Какой-то фреймворк для бэкенда - я бы посмотрел на C#+ asp net core, тк:
1. Это моё болото и я его хвалю.
2. Статичная типизация тебе сильно поможет
3. Он будет шустрее чем какой-нибудь питон, что важно, тк если ты будешь с нуля подбирать оптимальную конфигурацию под бюджет - придётся перебирать какое-то количество вариантов.
Что-то для хранения данных - я бы взял постгрес тк:
1. Опять же моё болото.
2. Не mongo, тк статичная схема и реляционная модель тебе тут явно будет плюсом.
3. Не Cassandra, тк она тут будет излишней.
4. Не Oracle/mssql, тк мы тут не миллионеры, чтобы столь небольшое количество данных хранить в СУБД стоимостью в несколько тысяч долларов.
5. Не redis/elastic, тк это узкоспециализированные системы, которые для решения основной задачи тут тебе совсем не нужны.
Остальное - уже по мере поступления проблем.
- Огромное спасибо, что поделились опытом! Отдельное спасибо за разъяснения!
Ответы:
Любой современный стек подойдет, отталкиваются от того что лучше знаешь.
- В том то и дело: я не знаю современных стеков, тогда бы и вопроса не было :D
- Four4sides, в таком случае вам всё равно потребуются разработчики, пусть они и выбирают.
- Сергей Горностаев, т.е. я не смогу сам создать?
- Four4sides, "сам создать" это освоить какой-то "современный стек", какой именно выбирай сам, но сразу, новички не способны создать самостоятельно сайт такого уровня, сначала нужно набраться опыта.
- Ну откуда мы знаем.
Может Вы гений и за день освоите новые технологии.
Может у Вас за спиной 20лет программирования, просто с Web не связывались..Вопрос необходимости вообще такого сервиса. У всех компьютерных магазинов есть корфигуратор. И вкусовщины что именно лучше и что надо ставить слишком много...
- Реализация любой задачи начинается с ТЗ. Под ТЗ выбирается движок, стек и план работы.
- Four4sides, очевидно, нет. Сначала вам придётся минимум год учить какой-то техстек, потом ещё пару лет практиковать свои знания в каком-нибудь реальном коммерческом проекте под руководством опытных профессионалов, и только потом имеет смысл пробовать.
на нативном js можно всё это сделать без всяких рекактов
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для создания open source сайта для подбора ПК комплектующих, вам потребуются различные технологии, которые обеспечат функциональность, безопасность и удобство использования для пользователей.
1. Фронтенд:
Для создания привлекательного и удобного интерфейса вам понадобятся HTML, CSS и JavaScript. Вы можете использовать фреймворки как Bootstrap или Materialize для быстрой разработки адаптивного дизайна. Также стоит обратить внимание на Vue.js или React.js для создания динамических элементов на странице.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PC Builder</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> </head> <body> <div class="container"> <h1>PC Builder</h1> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js"></script> </body> </html><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PC Builder</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> </head> <body> <div class="container"> <h1>PC Builder</h1> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js"></script> </body> </html>
2. Бекенд:
Для обработки данных и взаимодействия с базой данных вам понадобится серверная часть. Вы можете использовать PHP с фреймворком Laravel или Python с Django для создания API, которое будет обрабатывать запросы от фронтенда и возвращать необходимые данные.
3. База данных:
Для хранения информации о комплектующих, пользовательских данных и истории заказов вам понадобится база данных. Вы можете использовать MySQL или PostgreSQL для хранения данных о продуктах, пользователях и заказах.
4. Аутентификация и безопасность:
Для защиты пользовательских данных и предотвращения несанкционированного доступа рекомендуется использовать механизмы аутентификации, такие как JWT токены или OAuth. Также важно защитить ваш сайт от атак, используя HTTPS, SQL инъекции и другие методы.
5. Развитие и поддержка:
Для успешной работы open source проекта важно иметь сообщество разработчиков, которые могут вносить свои правки и улучшения. Вы можете использовать GitHub для хранения и управления кодом, а также для привлечения новых участников.
Надеюсь, эти рекомендации помогут вам создать успешный open source сайт для подбора ПК комплектующих. Удачи в разработке!