Skip to content

CaSh007s/nexus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nexus Social App

Nexus Logo

Live Demo MERN Stack GitHub stars GitHub forks

React Node.js MongoDB Express.js TailwindCSS Socket.IO Cloudinary

Vercel Render

A next-generation social media platform built on the MERN stack. Nexus features a stunning glassmorphic UI, real-time messaging, ephemeral stories, and a robust social graph, designed to connect people in a modern, engaging environment.


Table of Contents


Demo


Key Features

Nexus provides a comprehensive social experience with a focus on aesthetics, performance, and real-time interaction.

  • Modern & Premium UI:
    • Glassmorphism Design: A visually striking interface using frosted glass effects, vibrant gradients, and smooth Framer Motion animations.
    • Responsive Layout: A 3-column layout that adapts seamlessly to all screen sizes, featuring a dedicated sidebar for navigation and trending content.
  • Real-Time Communication:
    • Instant Messaging: Built with Socket.IO, allowing users to chat in real-time with typing indicators and online status updates.
    • Media Sharing: Users can share images directly within chats, powered by Cloudinary.
  • Social Interaction:
    • Posts & Feed: Create rich posts with images, captions, and location tags. Interact with content through likes, comments, and saving posts.
    • Stories: Share ephemeral moments that disappear after 24 hours. Includes view counting and liking features.
    • Follow System: A robust follow/unfollow mechanism with support for Private Accounts and follow requests.
  • Discovery & Trending:
    • Trending Feed: Real-time algorithm to highlight the most popular posts and discussions.
    • Suggested Users: Intelligent recommendations for "Who to follow" based on network connections.
    • Location Services: Integrated OpenStreetMap for location tagging and autocomplete in posts and profiles.
  • Security & Privacy:
    • Secure Auth: JWT-based authentication with encrypted passwords and secure cookie management.
    • Private Profiles: Users can toggle their account to private, requiring approval for new followers.

Technology Stack

The project utilizes a modern MERN stack with a decoupled frontend and backend architecture.

Category Technology
Frontend React, Redux Toolkit, Tailwind CSS, Framer Motion, Socket.IO Client, Axios
Backend Node.js, Express.js, Socket.IO, JWT
Database MongoDB with Mongoose
Services Cloudinary (Media Storage), OpenStreetMap (Location Data)
Deployment Frontend on Vercel, Backend on Render

Getting Started

To get a local copy up and running, please follow these steps.

Prerequisites

  • Node.js (v18 or newer recommended)
  • npm (or yarn)
  • A MongoDB database instance (local or MongoDB Atlas)
  • A Cloudinary account for image storage

Installation & Setup

  1. Clone the Repository:

    git clone https://github.com/CaSh007s/nexus.git
    cd Nexus-Social-App
  2. Backend Setup:

    • Navigate to the backend directory:
      cd backend
    • Install dependencies:
      npm install
    • Create a .env file and populate it with your keys:
      PORT=8000
      MONGODB_URI=your_mongodb_connection_string
      JWT_SECRET=your_super_secret_jwt_key
      FRONTEND_URL=http://localhost:5173
      CLOUDINARY_CLOUD_NAME=your_cloud_name
      CLOUDINARY_API_KEY=your_api_key
      CLOUDINARY_API_SECRET=your_api_secret
    • Start the backend server:
      npm run server
  3. Frontend Setup:

    • Open a new terminal and navigate to the frontend directory:
      cd frontend
    • Install dependencies:
      npm install
    • Create a .env file and add the following variables:
      VITE_API_URL=http://localhost:8000
    • Start the frontend development server:
      npm run dev

Screenshots

Home Feed
The main feed with glassmorphic posts and stories.

Home Feed
Chat Interface
Real-time messaging with media support.

Chat Interface
User Profile
Profile page with posts, bio, and stats.

User Profile
Settings Dashboard
Manage account, security, and privacy.

Settings
Create Post
Rich text editor with image and location support.

Create Post
Dark Mode
Sleek dark theme for low-light usage.

Dark Mode
Sign Up
Modern onboarding experience.

Sign Up
Login
Secure authentication entry point.

Login

πŸ“‚ Project Structure

Nexus-Social-App/
β”œβ”€β”€ backend/                 # Node.js & Express Backend
β”‚   β”œβ”€β”€ config/             # Database & Cloudinary Config
β”‚   β”œβ”€β”€ controllers/        # Route Controllers
β”‚   β”œβ”€β”€ middleware/         # Auth & Error Middleware
β”‚   β”œβ”€β”€ models/             # Mongoose Models
β”‚   β”œβ”€β”€ routes/             # API Routes
β”‚   └── server.js           # Entry Point
β”‚
└── frontend/               # React Frontend
    β”œβ”€β”€ public/             # Static Assets
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ components/     # Reusable Components
    β”‚   β”œβ”€β”€ pages/          # Page Components
    β”‚   β”œβ”€β”€ services/       # API Services
    β”‚   β”œβ”€β”€ store/          # Redux Slices
    β”‚   └── App.jsx         # Main App Component
    └── vite.config.js      # Vite Configuration

Future Work

While the core functionality is complete, there are several exciting features that could be added to enhance the platform:

  • Video Calls: Implement WebRTC for peer-to-peer video and voice calling.
  • Group Chats: Create group conversations for communities.
  • Advanced Search: Filter search results by tags, location, and people.
  • Admin Dashboard: A panel for moderation and user management.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contributors

Made with ❀️ by:


Acknowledgments

Special thanks to the open-source community and the creators of the libraries used in this project:

  • React & Redux Toolkit
  • Socket.IO
  • Tailwind CSS
  • Framer Motion

Contact

Kalash Pratap Gaur

About

A next-generation social media platform built on the MERN stack. Nexus features a stunning glassmorphic UI, real-time messaging, ephemeral stories, and a robust social graph, designed to connect people in a modern, engaging environment.

Resources

License

Stars

Watchers

Forks

Contributors