A full-stack application built with .NET (API backend) and React (frontend), demonstrating real-world patterns such as clean architecture, authentication / authorization, real-time updates, and deployment setup.
This project is based on the updated version of the “Reactivities” app used in a Udemy course. :contentReference[oaicite:0]{index=0}
- Overview
- Features
- Architecture & Project Structure
- Tech Stack
- Getting Started
- Usage
- Configuration
- Deployment & Docker
- Contributing
- License
Reactivities is an application for organizing and viewing social “activities” (events). Users can create, update, and interact with activities. The app demonstrates how to structure a modern full-stack app with separate frontend and backend layers, real-time updates, authentication, and deployment support. :contentReference[oaicite:1]{index=1}
- User accounts & authentication / authorization
- CRUD operations for “activities”
- Real-time updates / interactivity
- Photo / media upload support (via Cloudinary or similar) :contentReference[oaicite:2]{index=2}
- Clean architecture separation (Domain, Infrastructure, API, Client)
- Deployment via Docker / container orchestration
Here’s a logical layout (simplified):
/ ├── API/ # .NET backend │ ├── Controllers/ │ ├── Domain/ │ ├── Infrastructure/ │ ├── Persistence/ │ ├── Application/ │ ├── Program.cs / Startup │ └── appsettings.json ├── client/ # React frontend │ ├── src/ │ ├── components/ │ ├── pages/ │ ├── stores / state / context │ └── package.json ├── docker-compose.yml ├── Reactivities.sln └── README.md
- API: Hosts controllers, domain logic, persistence, infrastructure (e.g. data access, file upload)
- client: React app (likely using Vite / create-react-app) for UI / frontend
- docker-compose.yml: Orchestration of API + client + supporting services
- Solution file: for .NET (Reactivities.sln)
- Backend: .NET (latest version as used) :contentReference[oaicite:3]{index=3}
- Frontend: React, TypeScript / JavaScript
- Data / Storage: SQL Server, SQLite, or other (depends on configuration)
- Media / File Storage: Cloudinary (or similar) for handling photo uploads :contentReference[oaicite:4]{index=4}
- Communication: HTTP / REST APIs, possibly WebSockets / SignalR (for real-time)
- Containerization: Docker / docker-compose
- .NET SDK (matching version used in project)
- Node.js + npm / yarn
- Git
- (Optional) Docker & docker-compose
- (Optional) Cloudinary account (for media upload)
-
Clone the repo
git clone https://github.com/vedant12/Reactivities.git cd Reactivities
cd API dotnet restore
cd ../client npm install