Требования к заданию:
Приложение представляет собой страницу, на которой могут делать записи любые авторизованные пользователи.
- Необходимо реализовать регистрацию и авторизацию пользователя, а также проверку JWT-токена при внесении записей на страницу.
- Запись блога содержит:
- Дата записи.
- Сообщение: может содержать как текст, так и медиа (картинки или видео).
- Автор сообщения.
- Автор записи может редактировать или удалять запись.
- Необходимо выполнить деплой сервера для публичного доступа (можете использовать heroku или любой другой бесплатный хостинг).
- Необходимо написать документацию к эндпоинтам (вручную или сгенерировать из кода).
Нужно использовать:
- Должна использоваться реляционная база данных.
- Express js/fastify.
- ORM (type ORM, sequelize или другая на ваш выбор).
- React.
Будет плюсом:
- Typescript.
- Docker.
- Eslint, Prettier, Husky.
Можно использовать:
- Swagger.
- Библиотеки для jwt авторизации.
- CSS фреймворки.
- Material Ui, Ant Design или другие Ui библиотеки.
Нельзя использовать:
- Next.js.
- Клонировать репозиторий
git clone - Установить зависимости в
/clientи/serverчерезnpm install - Добавить
.envфайлы в/clientи/serverclient:- VITE_API_URL = http://localhost:7005
server:- PORT=7005
- DATABASE_URL="file:./dev.db"
- JWT_SECRET=9Bdw38lFl4zOHczrxM8wtRX8QlD4a4Fh
- Произвести миграции БД
npx prisma generateиnpx prisma migrate dev --name initв папке/server - Запустить фронт и бэк через
npm run devили произвести сборку фронта и запускать только бэк
- Клонировать репозиторий
git clone - Добавить
.envфайлы в/clientи/serverclient:- VITE_API_URL = http://localhost:7005
server:- PORT=7005
- DATABASE_URL="file:./dev.db"
- JWT_SECRET=9Bdw38lFl4zOHczrxM8wtRX8QlD4a4Fh
- Выполнить
docker-compose buildиdocker-compose up -d