Skip to content

Basic Social App where users can attend or invite friends to different activities. Project developed with .NET 8 Web API + React 18 + Mobx + Axios + TypeScript + Semantic UI + HTML 5 + CSS 3 + MSSQL Features: *Resgister *Login *Upload Profile Photo *Create/Attend Activities *Follow users *Chat

Notifications You must be signed in to change notification settings

Nicolae-Peptea/Reactivity

Repository files navigation

Reactivities

A social app for sharing and exploring community activities. Users can create events, follow others, and engage in real-time chat.


πŸ“˜ Table of Contents
  1. About the Project
  2. Features
  3. Tech Stack
  4. Integrations
  5. Visuals
  6. Getting Started
  7. Usage
  8. Acknowledgments

🧹 About the Project

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

home-page.png


πŸš€ Features

  • 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

🧱 Tech Stack

Architecture

  • Clean Architecture
  • CQRS with Mediator design pattern

Backend

Frontend

Database

Tools


πŸ”— Integrations

Email

Social Login


πŸ–ΌοΈ Visuals

  • Landing Page landing-page.png

  • Register Page register-page.png

  • Login Page login-page.png

  • Facebook Login login-facebook.png

  • Home Page home-page.png

  • Activity Details activity-details.png

  • Create/Edit Activity create-activity.png edit-activity.png

  • Profile Page profile-page.png


πŸ› οΈ Getting Started

Prerequisites

1. Clone the Repository

git clone https://github.com/your-username/reactivities.git
cd reactivities

2. Setup the Client

  • Go to client-app and ensure package.json includes:
"scripts": {
  "start": "react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject"
}
  • Run:
cd client-app
npm install

3. Setup the Server

  • 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": ""
}

4. Configure Third-Party Services

Resend (for emails)

"Resend": {
  "ApiToken": ""
}

Cloudinary (for image uploads)

"Cloudinary": {
  "CloudName": "",
  "ApiKey": "",
  "ApiSecret": ""
}

Facebook Login (Dev Environment)

"scripts": {
  "start": "set HTTPS=true&&set SSL_CRT_FILE=<path-to-crt>&&set SSL_KEY_FILE=<path-to-key>&&react-scripts start"
}

5. Run the App

  • Start the API (.NET backend) On the first run, it will automatically seed the database with initial data.

  • Start the client:

cd client-app
npm start

πŸ’‘ Usage

Login Credentials

Demo users:

Facebook test users (Heroku only):

Password for all users: Pa$$w0rd

Development Mode

  • Run the Web API (via Kestrel)
  • Open a terminal in client-app and run:
npm start

πŸ™Œ Acknowledgments

This project was built while following the excellent Udemy course by Neil Cummings, with additional improvements.

(back to top)

About

Basic Social App where users can attend or invite friends to different activities. Project developed with .NET 8 Web API + React 18 + Mobx + Axios + TypeScript + Semantic UI + HTML 5 + CSS 3 + MSSQL Features: *Resgister *Login *Upload Profile Photo *Create/Attend Activities *Follow users *Chat

Resources

Stars

Watchers

Forks

Packages

No packages published