DatingApp - это современное веб-приложение для знакомств, разработанное с использованием передовых технологий и архитектурных подходов. Приложение предоставляет пользователям возможность создавать профили, просматривать другие профили, ставить лайки и общаться через встроенную систему сообщений.
- ASP.NET Core
- C#
- Entity Framework Core
- PostgreSQL
- SignalR
- AutoMapper
- JWT (JSON Web Tokens)
- Cloudinary
- Angular
- TypeScript
- RxJS
- Angular CLI
- Регистрация и аутентификация пользователей
- Создание и редактирование профилей
- Загрузка и управление фотографиями (с использованием Cloudinary)
- Поиск и просмотр других пользователей
- Система лайков и взаимных интересов
- Обмен сообщениями между пользователями
- Административная панель для управления пользователями и контентом
- Отслеживание онлайн-статуса пользователей
- .NET 6 SDK
- Node.js (для фронтенда)
- Angular CLI
- PostgreSQL
- Git
-
Клонируйте репозиторий:
git clone <URL_репозитория> cd DatingApp
-
Настройте конфигурацию базы данных в файле
API/appsettings.Development.json:{ "ConnectionStrings": { "DefaultConnection": "Host=localhost;Database=datingapp;Username=postgres;Password=yourpassword" } } -
Установите зависимости для фронтенда:
cd client npm install -
Вернитесь в корневую директорию и восстановите зависимости для бэкенда:
cd .. dotnet restore -
Выполните миграции базы данных:
dotnet ef database update --project API
-
Запустите API:
cd API dotnet runAPI будет доступен по адресу
https://localhost:5001 -
В новом терминале запустите Angular приложение:
cd client ng serveФронтенд будет доступен по адресу
http://localhost:4200 -
Приложение будет доступно в браузере по адресу
http://localhost:4200
Для загрузки изображений необходимо настроить интеграцию с Cloudinary:
- Зарегистрируйтесь на cloudinary.com
- Получите учетные данные API
- Добавьте их в
API/appsettings.Development.json:{ "CloudinarySettings": { "CloudName": "your_cloud_name", "ApiKey": "your_api_key", "ApiSecret": "your_api_secret" } }
DatingApp/
├── API/ # ASP.NET Core Web API
│ ├── Controllers/ # API контроллеры
│ ├── Data/ # Работа с базой данных
│ ├── DTO/ # Объекты передачи данных
│ ├── Entities/ # Сущности базы данных
│ ├── Extensions/ # Расширения
│ ├── Helpers/ # Вспомогательные классы
│ ├── Interfaces/ # Интерфейсы
│ ├── Middleware/ # ПО промежуточного слоя
│ ├── Services/ # Бизнес-логика
│ └── SinglaR/ # Реализация SignalR
└── client/ # Angular приложение
├── src/
│ ├── app/
│ │ ├── _models/ # Модели данных
│ │ ├── _services/ # Сервисы
│ ├── _guards/ # Защитники маршрутов
│ │ ├── _interceptors/ # Перехватчики HTTP
│ ├── home/ # Компонент главной страницы
│ ├── members/ # Компоненты участников
│ │ ├── messages/ # Компоненты сообщений
│ │ └── nav/ # Навигационный компонент
│ └── environments/ # Конфигурации окружения