Daily-Mephi - это студенческий портал, разрабатываемый для оставления отзывов о преподавателях и загрузки учебных материалов. В данный момент проект находится в стадии разработки, однако вы можете посетить сайт https://daily-mephi.ru/, а также ознакомиться с кодом на https://github.com/PotatoHD404/daily-mephi. Проект развернут при помощи Terraform на Yandex Cloud.
Основные технологии, используемые в проекте:
- React
- TypeScript
- Next.js
- Prisma
- CockroachDB
- tRPC
Для тестирования используются:
- Jest (интеграционные и unit-тесты)
- Storybook (тесты компонентов React)
Для развертывания проекта в облаке, а также для тестирования и статического анализа настроены GitHub Actions.
Основной сложностью при реализации данного проекта была настройка Terraform и GitHub Actions, так как не была найдена готовая реализация для развертывания Next.js в Yandex Cloud.
В процессе разработки были также разработаны:
- Система загрузки файлов в Notion.
- Рендеринг React-компонентов в PNG.
- ORM для Yandex Database на Node.js.
- Библиотека для представления бэкенда на Next.js в виде классов, чтобы они были похожи на бэкенд на Spring, а также система для dependency injection в этих классах.
Для установки необходимо выполнить следующие команды:
yarn install
Для запуска проекта необходимо установить Node.js и Yarn.
Для запуска проекта в режиме разработки необходимо выполнить следующие команды:
yarn dev
Для запуска проекта в режиме production необходимо выполнить следующие команды:
yarn build
yarn start
Для запуска тестов необходимо выполнить следующие команды:
yarn test