DevRoot is a developer-focused networking platform inspired by Tinder and DevTinder by Akshay Saini's Namaste Node.js course, allowing developers to connect based on shared interests and projects. This project is built using the MERN stack (MongoDB, Express, React, Node.js), with additional libraries for state management, animations, and authentication.
Technology | Description |
---|---|
Cloud-based NoSQL database for storing user data. | |
For API testing and debugging backend routes. | |
Hosting service for frontend deployment. | |
Hosting service for backend deployment. |
π JWT-Based Authentication β Secure login using JSON Web Tokens (JWT)
π Bcrypt Password Hashing β Strong encryption for user passwords
π© Secure Password Reset β OTP or token-based password recovery
π Role-Based Access Control β Separate privileges for Admin, Moderator, and Users
β‘ 35+ Robust APIs β Well-structured endpoints for authentication, user profiles, connections, and more
π Advanced Search & Filtering β Find developers by skills, location, and interests
π Pagination for Performance β Efficient API responses for large datasets
ποΈ Scalable Database Schema β Optimized MongoDB queries with compound indexes
π₯ Swipe Mechanism β "Interested", "Ignore", and "Skip" profiles, Tinder-style
π‘ AI-Powered Matching β Smart recommendations based on skills, interests, and activity
π¨ Real-Time Messaging β Direct chat once a match is made
π― Personalized Feed β User feed adapts dynamically based on connections & interests
π Framer Motion Animations β Smooth and fluid transitions
π Dark Mode Support β Switch between light and dark themes
π Instant Notifications β Get real-time updates for messages, connections, and activity
π Comprehensive Error Handling β Centralized middleware to manage API errors
π Integration-Ready APIs β Easily connect with frontend & third-party services
π Logging & Debugging Middleware β Tracks API requests & errors
π Rate Limiting & Throttling β Prevents API abuse and excessive requests
π‘ WebSockets for Real-Time Features β Enables live messaging & notifications
πΌοΈ Cloud Storage for Media β Handles profile pictures and uploads efficiently
π CI/CD Deployment Pipeline β Automated deployment using GitHub Actions, Vercel (frontend), and Render (backend)
This repository contains a Collection of COde, Assignments & Notes
, which help you understand the concepts of Node.js.
Dive into Node.js fundamentals! This season covers core concepts like modules, the event loop, async programming with libuv, V8 engine insights, and database integration with SQL & NoSQL. A perfect starting point for backend development.
- 01 | Introduction to NodeJS
- 02 | JS on Server
- 03 | Let's write code
- 04 | module.export & require
- 05 | Diving into the NodeJS github repo
- 06 | libuv & async IO
- 07 | sync, async, setTimeoutZero - code
- 08 | Deep dive into v8 JS Engine
- 09 | libuv & Event Loop
- 10 | Thread pool in libuv
- 11 | Creating a Server
- 12 | Databases - SQL & NoSQL
- 13 | Creating a database & mongodb
- handwritten notes.pdf
Build a real-world MERN project! This season focuses on microservices, Express server setup, authentication, database modeling, API development, and frontend integration, culminating in the DevTinder app. Ideal for hands-on learning!
-
Repository - Frontend : Handles the user interface and client-side logic
-
Repository - Backend : Manages server-side logic, APIs, and interactions with the database.
View commits
for every topic update
- 01 | Microservices Vs Monolith - How to Build a Project
- 02 | Features, HLD, LLD & Planning
- 03 | Creating Our Express Server
- 04 | Routing and Request Handlers
- 05 | Middlewares & Error Handlers
- 06 | Database, Schema & Models Mongoose
- 07 | Diving into the APis
- 08 | Data Sanitization & Schema Validations
- 09 | Encrypting Passwords
- 10 | Authentication, JWT & Cookies
- 11 | Diving into the APls and express Router
- 12 | Logical DB Query & Compound Indexes
- 13 | Ref, Populate & Thought process of writing APIs
- 14 | Building Feed API & Pagination
- 15 | DevTinder UI - Part 1
- 16 | DevTinder UI - Part 2
- 17 | DevTinder UI - Part 3
- 18 | DevTinder UI - Part 4
- 19 | DevTinder UI - Part 5
Will be added soon...
To get started with the project, clone the repository to your local machine.
git clone https://github.com/onlyVishesh/Namaste-Nodejs.git
Depending on the season and episode folder may vary.
cd <folder>
npm install
Create a .env file in the server folder:
VITE_BackendURL = <Backend_URL>
PORT=3000
connectionString = <MongoDB_connection_string>
secretJWT = <Write_any_text>
adminEmails = <comma_seperated_emails_for_admin_role>
moderatorEmails = <comma_seperated_emails_for_moderators_role>
FrontendURL = <Frontend_URL>
npm run dev
If you found this repository helpful, feel free to connect with me on:
Let's collaborate and build amazing projects together! π€
Here are some additional resources that you might find useful:
- Namaste React: Check out this repo to learn React, Redux, Tailwind, and other frontend concepts for building interactive UIs.
- Javascript: A repository focused on learning Javascript concepts, from basics to advanced programming, contains code of various sources.
- Simple HTML,CSS, and JS projects: A repository focused on learning beginner concepts, from basics to advanced programming, with code from various sources and beginner-level projects.
If you have any other great resources to share, feel free to contribute! π
- Contributions are always welcome!
- Feel free to fork, create a pull request, or open an issue if you have ideas for improvements.
- Let's make this better together! ππ₯
Give a βοΈ if this project helped you and try to contribute and share with your developers.