This project is a minimal clone of Facebook, aiming to replicate some of its core functionalities. It serves as a practical exercise and demonstration of web development technologies and architectural patterns.
- Server Side: ASP.NET 7, Entity Framework
- Identity Service: Duende Identity (Formely known as IdentityServer)
- Databe Tech: SQL Server
- Client Side: React JS, Next.js, TailwindCSS
The application follows the principles of Clean Architecture. This ensures separation of concerns, scalability, and maintainability.
This is the list of features we initially planned on implementing. We've categorize these features as modules.
- User registration and authentication
- Adding posts
- Commenting on a post
- Reacting to a post (like, love, laugh and different other types of reactions)
- Replying to a post's comment
- Adding friends
- Making connection friends
- Chatting with friends
- Viewing friends that are online
- etc...
Provide a brief guide on how to set up the project.
-
Clone the repository:
git clone https://github.com/ChrisClaude/FacebookClone
-
Run the backend
cd FacebookClone cd src/FacebookClone.API dotnet ef database update dotnet run
Make sure the connection string in appsettings.json matches your sql server configurations. You might want to change the credentials to your own credentials.
-
Run the Frontend
cd FacebookClone cd src/web-client npm install npm dev
If you wish to contribute, please follow our contributing guidelines. All contributions are welcome, from bug reports to feature requests and pull requests.
This project is open-source under the MIT License.