Skip to content

Anuragsharma15-dell/pure-Node.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

166 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pure Node.js

** In the era of everyone fearing ai take his job i am writing tis pure javascript and node.js repo to show the power of these technologies **.

  • Project: A curated collection of Node.js programs and learning materials.
  • Purpose: Learn Node.js from very basic to advanced concepts through practical examples.

Overview

  • What this repo is: A hands-on learning repository containing many small to advanced Node.js programs designed to teach core concepts, native modules, patterns, and real-world techniques.
  • Who it’s for: Beginners learning Node.js fundamentals, intermediate developers filling gaps, and advanced users seeking practical examples of performance, concurrency, and native APIs.

Getting Started

  • Prerequisites: Install Node.js (LTS recommended) and a modern terminal.
  • Run a file: Use node <file.js> from the repository root. Example: node greeting/greeting.js.

Repository Structure

  • Root: Contains high-level documentation and utility scripts.
  • Example folders: Each folder groups related examples (e.g., greeting/, cpu.js/, Files.js/).
  • Naming: Files and folders are named to reflect the topic and difficulty.

Learning Path (Basic → Advanced)

  • Basics: JavaScript fundamentals, Node runtime, REPL, node execution model, package.json basics, npm / npx usage.
  • Core modules: Practical examples for fs, path, os, http, https, events, stream, buffer, crypto, timers, child_process.
  • Async patterns: Callbacks → Promises → Async/Await; error handling best practices; avoiding callback hell; using util.promisify.
  • Streams & Buffers: Reading/writing large files, piping, backpressure, transform streams.
  • Networking & APIs: Building HTTP servers, REST APIs, request handling, middleware patterns, and simple routing.
  • Concurrency & Scaling: cluster, worker_threads, child processes, event loop internals, and best practices for CPU-bound tasks.
  • Advanced topics: Native addons (N-API), performance tuning, profiling, memory management, GC basics, secure coding, and deployment patterns.

Core Modules Covered

  • fs: Synchronous vs asynchronous APIs, streams for large I/O, file watching.
  • path: Cross-platform path handling, normalization, joining.
  • os: System information, CPU/memory details, platform-specific concerns.
  • http / https: Building servers/clients, streaming responses, headers, status codes.
  • events: EventEmitter pattern, custom events, and memory leak detection.
  • stream: Readable/Writable/Transform streams, piping and composition.
  • child_process: spawn, exec, fork for subprocesses and task isolation.
  • crypto: Hashing, HMAC, secure random values, and basic encryption examples.

How to Use Examples

  • Run single example: node path/to/example.js.
  • Experiment: Modify inputs, add logging, and observe behavior in the console.
  • Add your own: Create a new folder with a clear README and example scripts.

Best Practices Demonstrated

  • Modular code: Small modules, single responsibility, and composition.
  • Error handling: Centralized and defensive patterns for robust scripts.
  • Logging & debugging: Using console, the built-in inspector, and --inspect tools.
  • Testing: Add unit tests (suggested frameworks: mocha, jest) for critical modules.

Contributing

  • Report issues: Open issues for bugs, unclear examples, or requested topics.
  • Add examples: Follow the repository structure and include a short explanation at the top of each example file.
  • Style: Keep examples focused, lightly commented, and easy to run with node.

Coming Soon

  • More advanced examples covering streams in depth, worker threads, clustering patterns, built-in profilers, security hardening, and real-world mini-projects. Stay tuned — new programs will be added regularly.

Next Steps / Suggestions

  • Try these first: greeting/greeting.js, cpu.js/cpu.js, Files.js/files.js.
  • Experiment: Modify an example, re-run it, and open a PR with improvements or new examples.

License & Notes

  • License: Open source — choose a license that fits your needs (MIT recommended for learning repos).
  • Attribution: This repo is for learning and experimentation. When using code in production, review security and performance implications.

Thank you for exploring Pure Node.js — enjoy learning, experimenting, and building! Stay tuned for more examples and guided progressions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published