https://github.com/thanhpt1110/chit-chat-backend
Backend services for Chit Chat social network
https://github.com/thanhpt1110/chit-chat-backend
aws-ec2 aws-rds ci-cd-pipeline clean-architecture docker entity-framework-core net-core recommendation-system signalr social-network web-rtc
Last synced: 6 months ago
JSON representation
Backend services for Chit Chat social network
- Host: GitHub
- URL: https://github.com/thanhpt1110/chit-chat-backend
- Owner: thanhpt1110
- License: mit
- Created: 2024-09-10T01:28:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-02T14:08:56.000Z (10 months ago)
- Last Synced: 2025-03-30T07:51:17.366Z (7 months ago)
- Topics: aws-ec2, aws-rds, ci-cd-pipeline, clean-architecture, docker, entity-framework-core, net-core, recommendation-system, signalr, social-network, web-rtc
- Language: C#
- Homepage: https://18.138.250.74/swagger/index.html
- Size: 245 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Chit Chat - Backend Services
A backend services for a social networking application, built with `.NET Core` and deployed using `Docker` & `AWS`. This repository includes all the RESTful APIs and logic required to support core functionalities of the social network, including a **Recommendation System** and **Real-Time Communication** via WebRTC.
---
## ✨ Features
- **Feeds**: Personalized newsfeed based on user activity.
- **Notifications**: Real-time notifications for interactions.
- **Real-Time Communication**: Audio/video calls and real-time chat powered by WebRTC.
- **Recommendation System**: Personalized suggestions for friends, groups, or content using collaborative filtering and user activity analysis.
- **Search**: Search for users, posts, or hashtags.
- **Secure Authentication**: Token-based authentication using JWT.
- **Social Interactions**: Follow/unfollow, posting, and commenting.
- **User Management**: Registration, login, and profile updates.---
## 🛠 Tech Stack
- **Framework**: .NET Core (Clean Architecture)
- **Database**: Amazon Aurora MySQL
- **Authentication**: JWT (JSON Web Token)
- **Recommendation System**: Content-based and Collaborative Filtering (e.g., Matrix Factorization, User-Item Similarity)
- **Real-Time Communication**: WebRTC, SignalR
- **Containerization**: Docker
- **Other Tools**: Entity Framework Core, AutoMapper, FluentValidation---
## 🚀 Installation Guide
### Prerequisites
- Install [Docker](https://www.docker.com/)
- Install [.NET Core SDK](https://dotnet.microsoft.com/download)### Steps
1. **Clone the repository**:
```bash
git clone https://github.com/thanhpt1110/chit-chat-backend
cd chit-chat-backend
```2. **Set up environment variables**:
Create a .env file in the `ChitChat.WebAPI` directory with the following content:```bash
SecretKey = # The secret key used for signing and verifying tokens
TokenValidityInDays = # The number of days the token is valid
RefreshTokenValidityInDays = # The number of days the refresh token is valid
Issuer = # The issuer of the token
Audience = # The audience for whom the token is issued
CloudinaryCloudName = # The Cloudinary cloud name
CloudinaryApiKey = # The Cloudinary API key
CloudinaryApiSecret = # The Cloudinary API secret key
```3. **Build and run with Docker**:
```bash
docker-compose up --build
```4. **Access the application**:
```bash
The backend will be running on http://localhost:8080.
```5. **Build and run with Docker**:
```bash
Visit http://localhost:8080/swagger/index.html to explore the API endpoints using Swagger UI.
```---
## 🤝 Authors
[Nguyễn Phúc Bình](https://github.com/leesoonduck3009)
[Phan Tuấn Thành](https://github.com/thanhpt1110)
[Lê Thanh Tuấn](https://github.com/thtuanlegithub)