Skip to content

DevConnekt is a full-stack developer networking platform built to foster collaboration, learning, and professional growth within the tech community. It enables developers to connect, share technical blogs, explore learning resources, and engage through interactive features

Notifications You must be signed in to change notification settings

frazhaidry/DevConnect_BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Overview: Social Connection Platform

This project is a minimalistic social connection platform designed to enable users to discover and build meaningful connections. The platform prioritizes:

  • User security
  • Clean interaction flows
  • Efficient management of connection requests

Built with Node.js, Express, and MongoDB, it ensures secure and scalable backend operations.


Key Features

1. Authentication

  • User Sign-Up/Login: Secure registration and login using email and password.
  • Password Hashing: User passwords are hashed using bcrypt for enhanced security.
  • JWT Authentication: JSON Web Tokens are used for session management and stored in cookies.

2. Middleware for Security

  • Route Protection: Ensures only authenticated users can access protected routes.
  • Request Validation: Validates incoming data to ensure compliance with security and logical constraints.

3. User Profile Management

  • Profile Editing: Users can update their personal information (e.g., name, bio, and profile picture).
  • Password Updates: Allows users to securely change their password, with hashing applied before saving.

4. Connection System

  • Send Connection Requests: Users can send connection requests with defined statuses:
    • interested
    • ignored
  • Request Review: Recipients can accept or reject connection requests.
  • Validation: Prevents duplicate or self-directed requests.

5. Feed

  • Dynamic User Feed: Displays profiles of users not connected to the current user, excluding:
    • Users who have ignored or rejected requests
    • Already connected users or those with pending requests
  • Pagination: Handles large datasets efficiently by paginating the feed.

6. Database Design

  • MongoDB:
    • User schema stores personal details and connection statuses.
    • Connection request schema tracks:
      • Sender (fromUserId)
      • Recipient (toUserId)
      • Statuses (e.g., pending, accepted).
    • Logical constraints ensure no duplicate or self-referencing requests.

About

DevConnekt is a full-stack developer networking platform built to foster collaboration, learning, and professional growth within the tech community. It enables developers to connect, share technical blogs, explore learning resources, and engage through interactive features

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published