Security management dashboard с MongoDB и NextAuth.
- Node.js 18+
- MongoDB (локальная установка или удаленная база данных)
- Клонируйте репозиторий
- Установите зависимости:
npm install- Скопируйте
.env.exampleв.env.localи настройте переменные окружения:
cp .env.example .env.local- Отредактируйте
.env.local:MONGODB_URI- строка подключения к MongoDBNEXTAUTH_SECRET- секретный ключ для NextAuth (сгенерируйте случайную строку)NEXTAUTH_URL- URL вашего приложения
npm run devПриложение будет доступно по адресу http://localhost:3000
npm run build
npm startПри первом запуске с пустой базой данных:
- Откройте http://localhost:3000
- Вы будете автоматически перенаправлены на страницу установки
/setup - Создайте учетную запись администратора
- После создания вы будете перенаправлены на страницу входа
- Войдите с созданными учетными данными
src/
├── app/
│ ├── api/
│ │ ├── auth/[...nextauth]/ - NextAuth API routes
│ │ ├── setup/ - API для первоначальной настройки
│ │ └── user/profile/ - API для обновления профиля
│ ├── dashboard/ - Основные страницы dashboard
│ │ ├── layout.jsx - Layout с sidebar
│ │ ├── page.jsx - Главная страница dashboard
│ │ └── profile/ - Страница профиля
│ ├── login/ - Страница входа
│ ├── setup/ - Страница первоначальной настройки
│ └── layout.js - Корневой layout с SessionProvider
├── components/ - React компоненты
├── lib/
│ ├── auth.js - Настройка NextAuth
│ └── mongodb.js - Подключение к MongoDB
├── models/
│ └── User.js - Mongoose модель пользователя
└── middleware.js - Middleware для проверки установки и аутентификации
## Функционал
- ✅ Аутентификация через NextAuth
- ✅ MongoDB для хранения данных
- ✅ Первоначальная настройка системы
- ✅ Dashboard с sidebar навигацией
- ✅ Страница профиля с редактированием
- ✅ Управление пользователями
- ✅ Защита маршрутов через middleware
## Технологии
- Next.js 16
- NextAuth 5 (beta)
- MongoDB с Mongoose
- Tailwind CSS
- ShadCN UI компоненты
- Bcrypt для хеширования паролей