От идеи до начала реализации - архитектура проекта и список технологий.
Начинаю историю о том как я делала сайт на react для того чтобы вести подсчеты для игры, в которую я играю. Подробнее можно прочитать тут. Сейчас проект уже в процессе разработки, поэтому начну описывать что уже готово, а дальше как дойду до текущего статуса буду описывать что я делаю.
Главное что мне нужно в приложении - отобразить в любом виде информацию о том какие пациенты лечатся, а для каких нужно еще прокачать мою больницу чтобы они начали лечится.
Дополнительно хотелось бы знать какого врача или медсестру следует прокачивать, у какого персонала показатель эффективности меньше или больше 100% (в идеале должно быть 100), как можно перетасовать персонал чтобы все пациенты лечились. Как лучше оптимизировать больницу чтобы пациенты ходили по всем пациентам и они давали больше денег. А также полезно видеть какие кабинеты требуют улучшения.
Вот так выглядит таблица для вычисления лечатся пациенты или нет.
Общие данные которые необходимо хранить:
- базовые параметры персонала (квалификацию и эффективность на первом уровне)
- базовые параметры кабинетов (на каком уровне какую дает дополнительную квалификацию и эффективность)
- список всех пациентов, по каким кабинетам ходят и их уровень шкалы
Индивидуальные данные по больнице
- параметры персонала больницы (уровень, есть статуэтка, уровень аттрибутов, имя, сведения о доп. оборудовании)
- уровни кабинетов больницы
- какой врач в каком кабинете расположен
- данные о больнице - уровень, название, уровень союза
Технологии: react (js библиотека для UI), mobx (хранение состояния приложения), react-router (навигация в приложении), git (хранение и версионирование кода - gitflic)
И об архитектуре - для начала это будет чисто фронтовое приложение. Поэтому и данные будут хранится только в браузере - localStorage. Также будет возможность сохранить данные в файл в виде json, и восстановить данные из ранее сохраненного файла.
Когда делаешь приложение на react есть множество вариантов как начать - использовать готовую утилиту create-react-app, которая сделает всю подготовительную работу по инициализации проекта. Также есть библиотека next js, с помощью которой тоже достаточно просто с нуля создать приложение. Множество boilerplate проектов, которые достаточно скачать себе из репозитория и продолжать с ними работать. Я предпочитаю делать все с нуля. Но обычно все же делается один проект, из которого просто выдергивается костяк и получается свой собственный boilerplate. У меня так и есть. Параллельно я делаю проект планировщика, с которого я скопировала структуру фронтовой части и получился новый проект - калькулятор.
Продолжение читайте в следующей части...