Система цифровизации документов, состоящая из фронтенда и бэкенда.
audittrial/
├── frontend/ # Next.js фронтенд с ShadCN UI
├── backend/ # Next.js API бэкенд с Prisma + PostgreSQL
└── README.md # Этот файл
cd backend
npm install
npm run db:push # Создание таблиц в базе данных
npm run dev # Запуск на порту 3001
cd frontend
npm install
npm run dev # Запуск на порту 3000
- Next.js 15 - React фреймворк с App Router
- TypeScript - Типизированный JavaScript
- Tailwind CSS - Utility-first CSS фреймворк
- ShadCN UI - Современные React компоненты
- Next.js 15 - API Routes для бэкенда
- Prisma - ORM для работы с базой данных
- PostgreSQL - Реляционная база данных
- TypeScript - Типизированный JavaScript
GET /api/documents
- Получить все документыPOST /api/documents
- Создать новый документGET /api/documents/[id]
- Получить документ по IDPUT /api/documents/[id]
- Обновить документDELETE /api/documents/[id]
- Удалить документPOST /api/upload
- Загрузить файлGET /api/users
- Получить всех пользователейPOST /api/users
- Создать пользователя
Система использует Prisma с PostgreSQL. Схема включает:
- User - Пользователи системы
- Document - Документы с метаданными и статусом обработки
- DocumentStatus - Enum статусов (QUEUE, PROCESSING, DIGITIZED, ERROR)
Скопируйте .env.example
в .env
и настройте:
DATABASE_URL="your-postgresql-connection-string"
NEXTAUTH_SECRET="your-secret-key"
UPLOAD_DIR="./uploads"
MAX_FILE_SIZE=10485760
cd backend
npm run db:generate # Генерация Prisma клиента
npm run db:push # Применение изменений схемы
npm run db:migrate # Создание миграций
npm run db:studio # Открытие Prisma Studio
cd frontend
npx shadcn@latest add [component-name]
- Frontend: http://localhost:3000
- Backend: http://localhost:3001
- Prisma Studio: http://localhost:5555
MIT with limits