Laravel Backend + Next.js Frontend с Role-Based Authentication и AI Tools Management
- Инсталация
- Docker Setup
- Добавяне на AI Tools
- Коментари и рейтинги
- Ролева система
- Админ панел
- API Документация
- AI Агенти
- Troubleshooting
- Docker & Docker Compose
- Node.js 18+ (за frontend development)
- PHP 8.1+ (за backend development)
git clone <repository-url>
cd full-stack-starter-kitcd backend
cp .env.example .env
composer install
php artisan key:generate
php artisan migrate
php artisan db:seedcd frontend
npm install
npm run dev# Стартиране на всички услуги
docker-compose up -d
# Проверка на статуса
docker-compose ps
# Логове
docker-compose logs -f- Backend:
http://localhost:8200 - Frontend:
http://localhost:3000 - Database: MySQL на порт 3306
- Redis: Порт 6379
# Влизане в PHP контейнера
docker-compose exec php_fpm bash
# Изпълняване на Laravel команди
docker-compose exec php_fpm php artisan migrate
docker-compose exec php_fpm php artisan db:seed
# Рестартиране на услуги
docker-compose restart- Влезте в системата като потребител
- Отидете на
/add-tool - Попълнете формата:
- Име на тула
- Описание
- Линк
- Категория
- Рекомендувани роли
- Тагове
curl -X POST http://localhost:8200/api/ai-tools \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "ChatGPT",
"description": "AI-powered conversational assistant",
"link": "https://chat.openai.com",
"category_id": 1,
"recommended_roles": ["backend", "frontend"],
"tag_ids": [1, 2]
}'- Всички нови тулове изискват одобрение от админ
- Админ може да одобри/отхвърли тулове в
/admin
- Коментари: Потребителите могат да оставят коментари за AI tools
- Рейтинги: 5-звездна система за оценяване на tools
- Модерация: Всички коментари изискват одобрение от админ
- Статистики: Среден рейтинг и брой оценки за всеки tool
-
Добавяне на коментар:
- Отидете на
/tool/{id} - Напишете коментар (минимум 10 символа)
- Кликнете "Submit Comment"
- Отидете на
-
Рейтинг на tool:
- Отидете на
/tool/{id} - Кликнете върху звездите (1-5)
- Рейтингът се запазва автоматично
- Отидете на
-
Админ модерация:
- Отидете на
/admin/comments - Прегледайте всички коментари
- Одобрете или отхвърлете коментари
- Отидете на
| Роля | Права |
|---|---|
| Owner | Пълен достъп, админ панел, управление на потребители |
| Admin | Админ панел, одобряване на тулове, статистики |
| Backend | Добавяне на тулове, преглед на backend-свързани тулове |
| Frontend | Добавяне на тулове, преглед на frontend-свързани тулове |
| PM | Добавяне на тулове, преглед на PM-свързани тулове |
| QA | Добавяне на тулове, преглед на QA-свързани тулове |
| Designer | Добавяне на тулове, преглед на design-свързани тулове |
Email: owner@example.com
Password: password
Email: admin@example.com
Password: password
Email: backend@example.com
Password: password
Email: frontend@example.com
Password: password
Email: pm@example.com
Password: password
Email: qa@example.com
Password: password
Email: designer@example.com
Password: password
- Dashboard: Статистики и обзор на системата
- Tools Management: Одобряване/отхвърляне на AI tools
- Comments Management: Модерация на коментари
- Activity Logs: Проследяване на потребителски действия
- User Management: Управление на потребители
- Cache Management: Очистване на кеш
-
Влезте като админ:
owner@example.com/passwordadmin@example.com/password
-
Навигирайте до админ панела:
- Кликнете "Admin Panel" в навигацията
- Или отидете на
/admin
-
Управлявайте системата:
- Tools:
/admin/tools- одобряване на tools - Comments:
/admin/comments- модерация на коментари - Activity:
/admin/activity-logs- проследяване на действия - Users:
/admin/users- управление на потребители
- Tools:
- Email - Код се изпраща на email
- Telegram - Код се изпраща в Telegram
- Google Authenticator - QR код за сканиране
- Отидете на
/profile - Кликнете "2FA Settings"
- Изберете метод и следвайте инструкциите
POST /api/login
POST /api/register
POST /api/logout
GET /api/user
GET /api/ai-tools
POST /api/ai-tools
GET /api/ai-tools/{id}
PUT /api/ai-tools/{id}
DELETE /api/ai-tools/{id}
GET /api/categories
POST /api/categories
GET /api/categories/{id}
PUT /api/categories/{id}
DELETE /api/categories/{id}
GET /api/tags
POST /api/tags
GET /api/tags/{id}
PUT /api/tags/{id}
DELETE /api/tags/{id}
GET /api/2fa/status
POST /api/2fa/enable
POST /api/2fa/disable
POST /api/2fa/send-code
POST /api/2fa/verify
GET /api/ai-tools/{id}/comments
POST /api/ai-tools/{id}/comments
PUT /api/ai-tools/{id}/comments/{comment}
DELETE /api/ai-tools/{id}/comments/{comment}
GET /api/ai-tools/{id}/ratings
POST /api/ai-tools/{id}/ratings
GET /api/ai-tools/{id}/ratings/my
DELETE /api/ai-tools/{id}/ratings
GET /api/admin/dashboard
GET /api/admin/tools
GET /api/admin/comments
POST /api/admin/tools/{id}/approve
POST /api/admin/tools/{id}/reject
POST /api/admin/comments/{id}/approve
POST /api/admin/comments/{id}/reject
GET /api/admin/activity-logs
GET /api/admin/users
# Проверете дали backend работи
docker-compose logs php_fpm
# Рестартирайте услугите
docker-compose restart# Проверете MySQL
docker-compose exec mysql mysql -u root -p
# Рестартирайте базата данни
docker-compose restart mysql# Проверете Node.js
cd frontend
npm install
npm run dev# Проверете email конфигурацията в .env
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-email@gmail.com
MAIL_PASSWORD=your-app-password# Проверете дали коментарът е одобрен
# Отидете на /admin/comments и одобрете коментара
# Проверете базата данни
docker-compose exec mysql mysql -u root -p
SELECT * FROM tool_comments WHERE is_approved = 1;# Проверете дали сте влезли като owner или admin
# Проверете middleware в backend/routes/api.php# Laravel логове
docker-compose exec php_fpm tail -f /var/www/html/storage/logs/laravel.log
# Nginx логове
docker-compose logs nginx
# MySQL логове
docker-compose logs mysql# Laravel
php artisan migrate
php artisan db:seed
php artisan cache:clear
php artisan config:clear
# Frontend
npm run dev
npm run build
npm run lint
# Docker
docker-compose up -d
docker-compose down
docker-compose logs -f- Backend: PSR-12 стандарт
- Frontend: ESLint + Prettier
- Database: Snake_case за таблици и колони
- API: RESTful endpoints
- Redis за сесии и кеш
- Laravel Cache за често достъпвани данни
- Database indexes за оптимизация
- Laravel Telescope за debugging
- Activity Logs за audit trail
- Performance metrics в админ панела
- Comments moderation за качество на съдържанието
- Rating statistics за популярност на tools
- Fork проекта
- Създайте feature branch
- Направете промените
- Добавете тестове
- Създайте Pull Request
MIT License - вижте LICENSE файла за детайли.
Създадено с ❤️ за ефективно управление на AI Tools