Современная социальная платформа для создания и демонстрации портфолио с возможностью взаимодействия между пользователями
- 🎨 Современный UI/UX - Красивый интерфейс с использованием Tailwind CSS
- 👥 Социальные функции - Лайки, комментарии, подписки, сохранение постов
- 📱 Адаптивный дизайн - Отлично работает на всех устройствах
- 🔐 Безопасная аутентификация - Защищенная система регистрации и входа
- 🖼️ Загрузка медиа - Поддержка изображений и GIF-анимаций
- 🔍 Поиск пользователей - Поиск по имени пользователя
- 📊 Профили пользователей - Детальные профили с настройками
- ⚡ Быстрая производительность - Оптимизировано с Next.js 15 и Turbopack
- Next.js 15 - React фреймворк с App Router
- React 19 - Библиотека для создания пользовательских интерфейсов
- TypeScript - Типизированный JavaScript
- Tailwind CSS 4 - Utility-first CSS фреймворк
- React Icons - Библиотека иконок
- Prisma - ORM для работы с базой данных
- SQLite - Легковесная база данных
- bcryptjs - Хеширование паролей
- multer - Обработка загрузки файлов
- @dnd-kit - Drag & Drop функциональность
- uuid - Генерация уникальных идентификаторов
- Node.js 18+
- npm или yarn
- Git
- Клонируйте репозиторий
git clone https://github.com/txkemru/port.git
cd port- Установите зависимости
npm install- Настройте базу данных
npx prisma generate
npx prisma db push- Создайте файл .env
cp .env.example .env- Запустите сервер разработки
npm run devОткройте http://localhost:3000 в браузере.
src/
├── app/ # Next.js App Router
│ ├── api/ # API маршруты
│ ├── home/ # Главная страница
│ ├── login/ # Страница входа
│ ├── register/ # Страница регистрации
│ ├── profile/ # Профили пользователей
│ └── portfolio/ # Портфолио
├── components/ # React компоненты
├── context/ # React Context
├── lib/ # Утилиты и конфигурация
└── pages/ # Страницы приложения
prisma/
├── schema.prisma # Схема базы данных
└── migrations/ # Миграции БД
- User - Пользователи системы
- Profile - Профили пользователей
- Post - Посты/публикации
- File - Загруженные файлы
- Like - Лайки постов
- Comment - Комментарии
- Follow - Подписки между пользователями
- Save - Сохраненные посты
POST /api/login- Вход в системуPOST /api/user-create- Регистрация пользователя
GET /api/user- Получить текущего пользователяGET /api/profile- Получить профильGET /api/user-profile/:username- Профиль по usernamePOST /api/check-username- Проверить доступность username
GET /api/feed- Лента постовPOST /api/post- Создать постGET /api/publications- Публикации пользователяGET /api/search- Поиск пользователей
POST /api/like- Лайк/анлайк постаPOST /api/comment- Добавить комментарийPOST /api/follow- Подписаться/отписатьсяPOST /api/save- Сохранить/удалить из сохраненных
Мы приветствуем вклад в развитие проекта!
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add amazing feature') - Отправьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
Владимир Пушков - GitHub • Telegram
⭐ Если проект вам понравился, поставьте звездочку! ⭐