Выполненное тестовое задание на позицию MEVN-разработчика. Нужно было сделать новостной портал, имеющий следующую функциональность (дословно от работодателя):
- Rest Api сервер на Node.js с использованием TypeScript. Api должен обрабатывать следующие запросы:
- Регистрация в системе
- Вход по логину-паролю
- Просмотр всех новостей
- Получение новости по id
- Только для авторизованных: Создание новой новости
- Только для авторизованных: Изменение новости
- Только для авторизованных: Удаление новости Данные пользователей и записи должны храниться в MongoDB (можно использовать Atlas). В качестве ODM использовать mongoose.
- Веб-сайт на Vue.js с использование TypeScript, взаимодействующий с Api. На сайте должен быть предоставлен доступ ко всем функциям API.
Помимо технологий, озвученных выше, я также использовал на фронтенде такие либы, как Axios и Ant Design.
Поскольку на все ТЗ было выделено всего день, не везде имеется нормальная типизация (any:)), отсутствует респонсивность у интерфейса, валидация у одной из форм, выход из аккаунта (хотя этого и не требовалось в задании) - и т.д.
Чтобы всё заработало, как нужно, на фронтенде нужно установить VITE_BACKEND_URL. На бэкенде - TOKEN_SECRET и DATABASE_URI.
В обеих папках запустить команду npm run dev (в каждой - по отдельности).