A social app for sharing and exploring community activities. Users can create events, follow others, and engage in real-time chat.
π Table of Contents
Reactivities is a social platform where users can:
- Share activities they host or attend
- Connect and chat with other community members
- Follow users and explore events by category
- Register (with email confirmation)
- Facebook registration
- Login/logout using JWT with refresh tokens
- Create, edit, and delete activities
- Attend or own activities
- Real-time chat in activity detail pages
- Sort and filter activities
- Follow/unfollow users
- Profile picture uploads
- View user profiles
- Full client/server-side validation
- Clean Architecture
- CQRS with Mediator design pattern
- Install Node.js 20+ and npm
- Install .NET Core 8 SDK
- Install Docker
git clone https://github.com/your-username/reactivities.git
cd reactivities- Go to
client-appand ensurepackage.jsonincludes:
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}- Run:
cd client-app
npm install- Go to the root of the Repo and run in the terminal
docker compose up -d- Configure your connection string in
appsettings.json:
"ConnectionStrings": {
"DefaultConnection": ""
}- Create a Resend account and API Key
- Add to
appsettings.json:
"Resend": {
"ApiToken": ""
}"Cloudinary": {
"CloudName": "",
"ApiKey": "",
"ApiSecret": ""
}-
Create an SSL certificate Watch this tutorial
-
Enable HTTPS in
client-app/package.json:
"scripts": {
"start": "set HTTPS=true&&set SSL_CRT_FILE=<path-to-crt>&&set SSL_KEY_FILE=<path-to-key>&&react-scripts start"
}-
Start the API (
.NETbackend) On the first run, it will automatically seed the database with initial data. -
Start the client:
cd client-app
npm startDemo users:
Facebook test users (Heroku only):
Password for all users: Pa$$w0rd
- Run the Web API (via Kestrel)
- Open a terminal in
client-appand run:
npm startThis project was built while following the excellent Udemy course by Neil Cummings, with additional improvements.








