Skip to content

Namaste Node.js - Learn Node.js from Scratch. This repo contains notes, code, and projects inspired by the Namaste Node.js course by Akshay Saini. Perfect for beginners & advanced developers!

Notifications You must be signed in to change notification settings

onlyVishesh/Namaste-Nodejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevRoot - Full Stack MERN Application

About The Project

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.

πŸš€ Technologies Used

Frontend Technologies

Technology Description
React For building the user interface.
Redux For state management across the application.
Tailwind CSS For utility-first CSS styling.
Axios For making HTTP requests to the backend.
Sooner For handling asynchronous operations efficiently.
Framer Motion For adding smooth animations to the UI.
React-Icons For adding icons in the UI.
React Markdown Editor Lite For rich text markdown editing.
Dotenv For managing environment variables.

Backend Technologies

Technology Description
Node.js JavaScript runtime environment.
Express.js Framework for building RESTful APIs.
Mongoose For interacting with MongoDB using object data modeling (ODM).
JWT For secure authentication and session management.
Bcrypt For hashing passwords to enhance security.
CORS For handling cross-origin requests.
Cookie-Parser For parsing cookies in HTTP requests.
Nodemon For automatic server restarts during development.
Dotenv For managing environment variables.

Database & Tools

Technology Description
MongoDB Atlas Cloud-based NoSQL database for storing user data.
Postman For API testing and debugging backend routes.
Vercel Hosting service for frontend deployment.
Render Hosting service for backend deployment.

πŸ›  Features & Highlights

πŸ” Authentication & Security

πŸ”‘ 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

πŸ“Š Optimized Data Management

⚑ 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

πŸ”— User Interaction & Matching

πŸ”₯ 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

🎨 UI/UX Enhancements

🌈 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

βš™οΈ Performance & Debugging

πŸ“Œ 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

☁️ Deployment & Scalability

πŸ“‘ 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)

🎨 Contents:

This repository contains a Collection of COde, Assignments & Notes, which help you understand the concepts of Node.js.

Learn basic of Node.js and its Fundamentals

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.

Working on DevTinder app

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!

  1. Repository - Frontend : Handles the user interface and client-side logic

  2. Repository - Backend : Manages server-side logic, APIs, and interactions with the database.

View commits for every topic update

Season 3:

Will be added soon...


πŸ“¦ Installation & Setup

1. Clone the Repository

To get started with the project, clone the repository to your local machine.

git clone https://github.com/onlyVishesh/Namaste-Nodejs.git

2. Install Dependencies

Depending on the season and episode folder may vary.

cd <folder>
npm install

3. Configure Environment Variables

Create a .env file in the server folder:

Frontend .env file
VITE_BackendURL = <Backend_URL>
Backend .env file
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>

4. Run the Application

npm run dev

πŸ“¬ Let's Connect

If you found this repository helpful, feel free to connect with me on:

  • GitHub
  • linkedin
  • twitter

Let's collaborate and build amazing projects together! 🀝


πŸ“š Other Resources

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! πŸš€


🀝 Contribution

  • 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! πŸš€πŸ”₯

⭐ Show your support

Give a ⭐️ if this project helped you and try to contribute and share with your developers.

About

Namaste Node.js - Learn Node.js from Scratch. This repo contains notes, code, and projects inspired by the Namaste Node.js course by Akshay Saini. Perfect for beginners & advanced developers!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published