Это проект, состоящий из трёх частей:
- Backend (сервер на Express.js) - порт 5001
- express: Основной фреймворк для создания сервера.
- mysql2: Для работы с MySQL базой данных.
- body-parser: Для парсинга тела запроса.
- cors: Для настройки кросс-доменных запросов.
- dotenv: Для работы с переменными окружения.
- Frontend (клиентская часть на React) - порт 3000
- react: Библиотека для создания пользовательских интерфейсов.
- react-dom: Для рендеринга React-компонентов в браузере.
- styled-components: Библиотека для стилизации компонентов с использованием CSS in JS.
- axios: Для выполнения HTTP-запросов.
- react-scripts: Набор инструментов для создания и сборки React-приложений.
- База данных (MySQL server) - порт 3306
- db/schema.sql: содержит SQL скрипт для развёртывания БД
- db/seed.sql: содержит SQL скрипт для наполнения БД тестовыми данными
- Добавлять новые записи о транзакциях
- Читать все записи о транзакция
- Удалять записи о транзакциях
- Получать уведомления об успехе/неуспехе сохранении/удалении транзакций
В тех. задании не зафиксированы некоторые существенные требования, такие как: стили, адаптивность, кроссбраузерность, доступность, производительность и т.д. Также немаловажным является удобное управление состоянием (Redux) и в целом архитектура серверной части (Nest.js). Поэтому в дальнейшем возможна доработка этого приложения и проработка перечисленных направлений.
- Клонируйте репозиторий:
git clone <url>
- Перейдите в папку с backend (для установки зависимостей):
cd expressapplication
npm install
- Перейдите в папку с frontend (для установки зависимостей):
cd frontend
npm install
- Разверните MySQL БД с помощью schema.sql и seed.sql:
mysql -u username -p < schema.sql
mysql -u username -p < seed.sql
- сервер:
npm run dev
- клиент:
npm start
- сервер:
npm start
- клиент:
npm run build