Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TestEx2 - Vacancies Application

Приложение для управления вакансиями с раздельной архитектурой клиента и сервера.

Архитектура проекта

Проект состоит из двух независимых частей:

🖥️ Server (Backend)

Серверная часть приложения - RESTful API на NestJS с PostgreSQL базой данных.

Технологии:

  • NestJS - Progressive Node.js framework
  • TypeScript - Типизированный JavaScript
  • PostgreSQL - Реляционная база данных
  • TypeORM - ORM для работы с базой данных
  • Swagger - Автоматическая документация API
  • Docker - Контейнеризация приложения
  • class-validator - Валидация входящих данных

Реализовано:

  • REST API для управления вакансиями (создание, поиск, удаление)
  • Система избранных вакансий
  • Поиск вакансий с пагинацией
  • Валидация всех входящих данных
  • Автоматическая документация API (Swagger)
  • Docker контейнеризация для development и production

🎨 Client (Frontend)

Клиентская часть приложения - React SPA для взаимодействия с API.

Технологии:

  • React 18 - Библиотека для построения UI
  • TypeScript - Типизированный JavaScript
  • Vite - Инструмент сборки
  • Mantine - Библиотека UI компонентов
  • Zustand - Управление состоянием
  • React Router - Маршрутизация
  • Axios - HTTP клиент

Реализовано:

  • Поиск вакансий с пагинацией
  • Просмотр детальной информации о вакансии
  • Система избранных вакансий
  • Адаптивный дизайн
  • Обработка ошибок сети
  • Кастомные хуки (useInput, usePreventCopy)

Структура проекта

TestEx2/
├── server/          # Backend приложение (NestJS)
│   ├── src/        # Исходный код сервера
│   ├── dist/       # Скомпилированный код (не в git)
│   └── package.json
│
├── client/          # Frontend приложение (React)
│   ├── src/        # Исходный код клиента
│   ├── dist/       # Собранное приложение (не в git)
│   └── package.json
│
└── README.md        # Этот файл

Быстрый старт

Server

cd server
npm install
npm run start:dev

API будет доступен на http://localhost:3000 Swagger документация: http://localhost:3000/api

Client

cd client
npm install
npm run start:dev

Приложение будет доступно на http://localhost:5173

Команды

Server

  • npm run start:dev - Запуск в режиме разработки
  • npm run start:prod - Запуск в production режиме
  • npm run build - Сборка для production
  • npm run docker:dev:build - Запуск через Docker (development)
  • npm run docker:prod:build - Запуск через Docker (production)

Client

  • npm run start:dev - Запуск в режиме разработки
  • npm run start:prod - Запуск preview production сборки
  • npm run build - Сборка для production

Переменные окружения

Каждая часть проекта использует свои переменные окружения:

  • server/.env.development - для development сервера
  • server/.env.production - для production сервера
  • client/.env.development - для development клиента
  • client/.env.production - для production клиента

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages