Я просто охреневаю, как быстро можно разрабатывать, если знать, где срезать углы





До нынешнего состояния платформы, я на неё потратил часов 120👇

https://micro-courses.ru/



При этом, в ней реализованы следующие механики:



1. Отображение курсов на карте, отображение картинок на этой карте

2. Редактирование карты, перемещение, удаление, изменение размера. В общем, мини миро

3. Система ролей и простенькая админка, для отображения пользователей и выдачи доступов

4. Редактирование профиля, регистрацию по email и oauth

5. Система управления контентом на основе yaml, json схемы и git

6. Отображение контента с помощью mdx

7. Система прогресса

8. Ну и оплаты, куда без этого



Если на это всё смотреть, это пипец как много...



Чтобы вы понимали, насколько я быстро это сделал. Где-то 3 года назад я разрабатывал похожую систему для uchi.ru



Мы делали командой в 7 человек, в течении 5 месяцев (разница почти в 50 раз) примерно такую же по функциональности штуку.





Но как так получилось?



Самое главное — кругозор и эффективное использование инструментов.



1. Монорепа и next-server actions: Один сервер, одна команда, меньше расходов на контракты и межязыковое взаимодействие



2. Использование готовой либы shadcn, и хорошее владение ей + tailwidncss + ChatGPT. Верстка просто летела, так как по большей части это копипаста из док, и результаты работы ChatGPT



3. React flow – и диаграммы это уже не страшно



4. Next-auth – минус возня с авторизацией



5. Использование ChatGPT – позволяет сэкономить в 10 раз время на слое lib (Интеграция с S3, Redis, Yaml, написание скриптов на node и тд)



6. Event sourcing – позволил дико упростить логику работы с прогрессом, оплатами, и выдачей доступов. (но пришлось повозиться с деплоем eventstore на vps)



7. Это всё сделано по FSD + подобию чистой архитектуры. Что позволило мне не затротлить, когда строк кода в проекте перевалило за 15k



Вывод: если знать самый короткий путь и иметь возможность идти на трейдофы, то можно ускорить разработку раз в 50 🚀