Skip to content

Anurag13075/pure-Node.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

171 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

 
 
 

Contributors