@aristaryo
Студент

Как разработать веб-систему для изучения иностранного языка?

В качестве учебного проекта стоит задача - создание системы изучения слов с помощью html, css, и т.д.

Как я себе представляю:

1. Пользователь регистрируется/ входит на платформу.
2. В его личном кабинете список разделов (которые он сам создает).
При нажатии на раздел - страница редактирования содержимого (добавляются карточки слово-значение как flash-карточки). Все это сохраняется в MySQL
3. При нажатии кнопки "Учить" внутри раздела - реализуется процесс обучения по алгоритму (он уже есть и разобран, предполагаю промежуточное хранение данных в LocalStorage)
4. При выходе из аккаунта сохраняются результаты обучения в MySQL (число просмотренных слов и т.д.)

Я могу верстать сайты используя bootstrap, css (+less), на уровне университетской программы разбираюсь в ООП (С++, C#) + небольшие вещи типа динамического создания объектов (to-do list, и т.д. делал на JS).

Понимаю, что для реализации связи с БД, прогрузки страниц нужно на сервере задействовать работу PHP.
(я себе представляю это как по данным в БД генерировать объекты в личном кабинете, настройка оформления и языка)

Но с фреймворками я не сталкивался вообще ни разу, с паттернами проектирования тоже туго.

Поэтому вопрос такой: можно ли реализовать без фреймворка все, что описано выше или лучше использовать фреймворк? (какой?)

Слышал еще о возможности посадить сайт на CMS, разумно ли это будет в моем случае или не стоит выбирать такой шаг?

Аналогично с паттернами проектирования: нужно ли вообще думать о них в таком проекте или нет? (слышал, что динамическое создание объектов и прочие манипуляции якобы лучше через паттерны проворачивать)

Спасибо за ответы, не кидайтесь тапками, если я где-то написал ерунду).
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 5
Ключевые слова для вас. Учебный проект, изучение слов. Опишите для себя сначала самый базовый функционал, без которого стстему нельзя назвать системой изучения слов, после этого подумайте как его реализовать потом думайте как обвешать деталями в виде авторизации и прочих рюшечек. Это учебный проект, если начнете все с ходу усложнять рискуете недоделать. В прочем и в больших проектах точно также.
Ответ написан
Комментировать
glaphire
@glaphire
PHP developer
На текущем этапе стоит создать корректную базу данных со всеми связями и нормализацией.
Также расписать все процессы в виде блок-схем, что куда и зачем идет, потому что без нормального тех.задания код нормальным не будет - независимо от языка и фреймворка.
В остальном пока не разберетесь с PHP по какому-то из популярных учебников, то рассказывать придется слишком много - это просто базовая информация, на которой потом и можно простроить проект. У популярных CMS есть подвохи - они не по всем аспектам гибкие и дорабатывать какой-то функционал может быть слишком муторно (админка под "обучение по алгоритму"). На фреймворках это можно сделать, но опять же знаний PHP и ООП у Вас нет, поэтому это будет только потеря времени, нужно сначала разобраться с основами. Не стоит недооценивать PHP - тут так же нужно изучить основные подходы в веб разработке, как и в python, ruby, серверном js или java)
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Это простой и УЧЕБНЫЙ! проект.
Делайте его БЕЗ! применения фреймворков и CMS.
Иначе - ничему так и не научитесь, и будете потом постоянно "спотыкаться" о свои "пробелы" в знаниях.
Ответ написан
Комментировать
besogonskiy
@besogonskiy
работаю php laravel разработчиком.
Раз вы уже умеете верстать, то вам всего лишь один шаг проделать и вы сможете сделать то, что заумали!

берите vuejs и библиотеку визуальных компонент к ней Vuetify (аналог бутстрап, только под vue)

И лепите на этом интерфейс.
Зарегайтесь на крутой площадке для изучения иностранного языка. Я рекомендую
Englishdom
С меня промокоды если зарегаетесь там по моей ссылке.

Оттуда позаимствуйте идеи тренажеров. Вам этого за глаза хватит.

Бэкэнд я помогу вам сделать. Ваша задача только фронтэнд сделать на vue js и изучение его у вас займет пару дней. Материалы вам даже предоставлю где пошагово это делается.
Ответ написан
Комментировать
Ranwise
@Ranwise
для такой системы главный фронтед, а для бека нужно всего лишь апи

для фронтенда берете любой фреймворк типа react\vue\angular
для бека любой язык и на первое время вообще можно просто файлик json

та же работа с LocalStorage все равно идет на js
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы