Skip to content

somcpp/DevSphere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevSphere

A modern networking platform built with React that connects developers, enables skill-sharing, and facilitates meaningful professional relationships within tech communities.

🎯 Overview

DevSphere is a full-featured networking platform designed for developers to discover peers, build professional connections, and collaborate on opportunities. Users can create comprehensive profiles, manage connection requests, browse a feed, and connect with like-minded students.

✨ Key Features

πŸ” Authentication

  • User signup and login
  • Secure authentication system
  • Session management

πŸ‘€ User Profiles

  • Comprehensive profile creation with:
    • Personal information (name, email, phone)
    • Academic details (institution, major)
    • Professional experience
    • Skills and expertise
    • Social links (LinkedIn, GitHub, Twitter)
    • Profile photo
    • Bio and about section
    • Interests

🀝 Connection Management

  • Incoming Requests: View and manage incoming connection requests from other users
  • Outgoing Requests: Track and manage requests you've sent
  • My Connections: View all established connections
  • Accept or reject connection requests with one click
  • View detailed profiles before responding to requests

πŸ“± Feed

  • Browse activity feed from your network
  • Discover relevant updates and information

πŸš€ Onboarding

  • 4-step guided onboarding process:
    • Step 1: Add your skills
    • Step 2: Write your bio and about section
    • Step 3: Add professional experience
    • Step 4: Add contact information

πŸ› οΈ Tech Stack

Frontend

  • React 19 - UI library
  • React Router - Navigation and routing
  • Redux Toolkit - State management
  • Tailwind CSS - Styling
  • Vite - Build tool
  • Axios - HTTP client
  • Lucide React - Icon library

Tools & Dev Tools

  • ESLint - Code linting
  • Node.js - JavaScript runtime

πŸ“¦ Installation

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Setup

  1. Clone the repository

    git clone <repository-url>
    cd nexus
  2. Install dependencies

    npm install
  3. Configure environment variables Create a .env file in the root directory:

    VITE_API_URL=<your-api-endpoint>
    
  4. Start the development server

    npm run dev

The application will be available at http://localhost:5173

πŸš€ Available Scripts

  • npm run dev - Start development server with hot reload
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run lint - Run ESLint to check code quality

πŸ“ Project Structure

src/
β”œβ”€β”€ Api/                           # API endpoints and services
β”‚   β”œβ”€β”€ Api.js                     # Base API configuration
β”‚   β”œβ”€β”€ authApi.js                 # Authentication endpoints
β”‚   β”œβ”€β”€ connectionsApi.js          # Connection management endpoints
β”‚   β”œβ”€β”€ profileApi.js              # Profile endpoints
β”‚   └── userApi.js                 # User data endpoints
β”œβ”€β”€ app/
β”‚   └── store.js                   # Redux store configuration
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ Header.jsx                 # Top navigation header
β”‚   β”œβ”€β”€ Sidebar.jsx                # Side navigation menu
β”‚   └── AuthSidebar.jsx            # Authentication sidebar
β”œβ”€β”€ features/
β”‚   β”œβ”€β”€ auth/                      # Authentication feature
β”‚   β”‚   β”œβ”€β”€ AuthPage.jsx
β”‚   β”‚   β”œβ”€β”€ Login.jsx
β”‚   β”‚   β”œβ”€β”€ Signup.jsx
β”‚   β”‚   └── authSlice.js
β”‚   β”œβ”€β”€ connections/               # Connection management feature
β”‚   β”‚   β”œβ”€β”€ ConnectionsPage.jsx
β”‚   β”‚   β”œβ”€β”€ connectionsSlice.js
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ ItemsCard.jsx
β”‚   β”‚   β”‚   └── ItemsList.jsx
β”‚   β”‚   └── pages/
β”‚   β”‚       β”œβ”€β”€ MyConnectionsPage.jsx
β”‚   β”‚       β”œβ”€β”€ IncomingRequestPage.jsx
β”‚   β”‚       β”œβ”€β”€ OutgoingRequestPage.jsx
β”‚   β”‚       └── ViewDetailsPage.jsx
β”‚   β”œβ”€β”€ feed/                      # Feed feature
β”‚   β”‚   β”œβ”€β”€ FeedPage.jsx
β”‚   β”‚   └── FeedCard.jsx
β”‚   β”œβ”€β”€ header/
β”‚   β”‚   └── headerSlice.js
β”‚   β”œβ”€β”€ onboarding/                # User onboarding flow
β”‚   β”‚   β”œβ”€β”€ OnBoardingContainer.jsx
β”‚   β”‚   β”œβ”€β”€ Step1_Skills.jsx
β”‚   β”‚   β”œβ”€β”€ Step2_Bio.jsx
β”‚   β”‚   β”œβ”€β”€ Step3_Experience.jsx
β”‚   β”‚   β”œβ”€β”€ Step4_Contact.jsx
β”‚   β”‚   └── onboardingSlice.js
β”‚   β”œβ”€β”€ profile/                   # User profile features
β”‚   β”‚   β”œβ”€β”€ MyProfilePage.jsx
β”‚   β”‚   β”œβ”€β”€ EditProfileModal.jsx
β”‚   β”‚   └── profileSlice.js
β”‚   └── viewProfile/               # View other users' profiles
β”‚       └── ViewProfilePage.jsx
β”œβ”€β”€ data/
β”‚   └── skills.json                # Predefined skills list
β”œβ”€β”€ App.jsx                        # Main app component
β”œβ”€β”€ App.css                        # Global styles
β”œβ”€β”€ main.jsx                       # React entry point
└── index.css                      # Global styles

πŸ”„ User Data Model

DevSphere uses a comprehensive user schema that includes:

  • Authentication: Email, password
  • Profile: Name, photo, bio, gender
  • Academic: Institution, major
  • Professional: Experience, skills, position
  • Social: LinkedIn, GitHub, Twitter
  • Contact: Location, phone number
  • Interests: Areas of interest and expertise
  • Metadata: Profile completion status and timestamps

For detailed schema information, see USER_MODEL.md

πŸ”— Connection Management

The connection system supports:

  • Incoming Requests: Requests from other users
  • Outgoing Requests: Requests you've sent to other users
  • Established Connections: Users you're already connected with

For detailed implementation, see CONNECTIONS_IMPLEMENTATION.md

🎨 Styling

The application uses Tailwind CSS v4 for styling with:

  • Responsive design
  • Color-coded UI components (blue for primary, green for success, red for danger)
  • Smooth transitions and hover effects
  • Mobile-first approach

πŸ” Security

  • Passwords are hashed on the backend
  • Authentication tokens for session management
  • Secure API endpoints with authentication headers
  • Protected routes that require user authentication

🚦 Getting Started

  1. Sign up with your email and create an account
  2. Complete onboarding - Add your skills, bio, experience, and contact info
  3. Explore profiles - Browse and discover other students
  4. Send connections - Connect with people you'd like to network with
  5. Manage requests - Accept or reject incoming connection requests
  6. Stay updated - Check your feed for network updates

πŸ“± Responsive Design

DevSphere is fully responsive and works seamlessly across:

  • Desktop browsers
  • Tablets
  • Mobile devices

🀝 Contributing

  1. Create a new branch for your feature
  2. Commit your changes with descriptive messages
  3. Push to the branch
  4. Submit a pull request

πŸ“„ License

This project is part of the DevSphere initiative.

πŸ†˜ Support

For issues, questions, or suggestions, please create an issue in the repository.


Built with ❀️ to connect developer communities

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages