A comprehensive collection of JavaScript, TypeScript, React, and Node.js projects, algorithms, and coding challenges. This repository serves as both a learning resource and a reference for various programming concepts and implementations.
- Overview
- Repository Structure
- Core Topics
- Getting Started
- Project Categories
- Learning Path
- Contributing
This repository contains a wide range of JavaScript projects, from fundamental concepts to advanced implementations. Whether you're learning JavaScript, preparing for technical interviews, or building production applications, you'll find relevant examples and implementations here.
Javascript-playground/
βββ DSA/ # Data Structures & Algorithms
βββ Leetcode/ # LeetCode problem solutions
βββ amazon/ # Amazon interview questions
βββ codility/ # Codility challenges
βββ arrays/ # Array manipulation problems
βββ strings/ # String algorithms
βββ objects/ # Object-oriented programming
βββ hooks/ # React Hooks examples
βββ statemanagement/ # State management patterns
βββ advancedstatemanagement/ # Advanced state management
βββ react-tuto/ # React tutorials
βββ frontendJS/ # Frontend JavaScript concepts
βββ backendjs/ # Backend JavaScript/Node.js
βββ node1/ # Node.js projects
βββ nodecore/ # Node.js core concepts
βββ apis/ # API implementations
βββ oauth/ # OAuth authentication
βββ githubAuth/ # GitHub authentication
βββ social_authentication/ # Social auth integrations
βββ rolesbased/ # Role-based access control
βββ Caching/ # Caching strategies
βββ usingPrisma/ # Prisma ORM examples
βββ animations/ # Animation projects
βββ forms/ # Form handling
βββ filesH/ # File handling
βββ media/ # Media processing
βββ SimpleGames/ # Simple game implementations
βββ modernlandingpage/ # Modern landing page designs
βββ web-meeting-server1/ # Web meeting server
βββ Todo2/ # Todo application v2
βββ todoApp/ # Todo application
βββ Ts/ # TypeScript projects
βββ classes/ # JavaScript classes
βββ corejs/ # Core JavaScript concepts
βββ General/ # General programming concepts
βββ js1/ # JavaScript fundamentals
βββ Hoisting/ # Hoisting concepts
βββ ErrorHandling/ # Error handling patterns
βββ preparations/ # Interview preparations
βββ LICENSE
Fundamental data structures and algorithms implementations.
Solutions to LeetCode problems with detailed explanations.
Key Solutions:
- Array problems (Two Sum, Merge Sorted Arrays, Maximum Subarray)
- String problems (Longest Substring, Anagram Checker, Valid Parenthesis)
- Linked Lists (Reverse Linked List, Merge Lists)
- Trees (Binary Search, DFS/BFS, Traversals)
- Dynamic Programming (Coin Change, Climbing Stairs, Kadane's Algorithm)
- Sorting Algorithms (Quick Sort, Merge Sort, Binary Search)
- Hash Tables (LRU Cache, Majority Element)
- Stacks & Queues
- Sliding Window problems
- Matrix problems (Spiral Matrix, Number of Islands)
Files Include:
AddNumbers.js,AnagramChecker.js,ArrayChunking.jsBinary.js,climb.js,CoinsChange.jsdebouncing.js,dfs.js,duplicates.jsEventLoopAndConcurrency.js,Factorial.js,Fibonnaci.jsKadanesAlgorithm.js,LongestSubstring.js,LruCache.jsMergeSortedArrays.js,MergeSort.js,QuickSort.jsReverseLinkedList.js,spiralMatrix.js,Sudoku.jsvalidParenthesis.js, and many more!
Common interview questions asked at Amazon.
- LRU Cache implementation
- Merge Sorted Arrays
- Reverse Linked List
- Tree problems
- Two Sum variants
Solutions to Codility coding challenges.
BinaryGap.js- Binary representation problemsFrogRiverOne.js- Array traversalMaxCounters.js- Counter operationsPassingCars.js- Prefix sumsPermCheck.js- Permutation checkingRateLimiter.js- Rate limiting implementationTapeEquilibrium.js- Array splitting
Array manipulation techniques and algorithms.
String processing and manipulation problems.
Comprehensive React.js tutorials and examples.
React Hooks implementations and patterns.
- useState, useEffect, useContext
- Custom hooks
- Hook composition
Basic state management patterns in React.
Advanced state management techniques.
- Redux patterns
- Context API advanced usage
- State machines
- Zustand, Recoil implementations
Frontend-specific JavaScript concepts.
- DOM manipulation
- Event handling
- Browser APIs
- Performance optimization
Animation implementations and libraries.
- CSS animations
- JavaScript animations
- Animation libraries
Form handling and validation.
Modern landing page designs and implementations.
Backend JavaScript concepts and implementations.
Various Node.js project implementations.
Core Node.js concepts and modules.
- Event loop
- Streams
- Buffer
- File system
- Networking
API development and integration.
- RESTful APIs
- GraphQL
- API design patterns
Prisma ORM examples and best practices.
- Schema design
- Migrations
- Queries
- Relations
Caching strategies and implementations.
- In-memory caching
- Redis integration
- Cache invalidation strategies
OAuth implementation examples.
GitHub OAuth integration.
Social media authentication implementations.
- Google Auth
- Facebook Auth
- Twitter Auth
Role-based access control (RBAC) implementations.
Full-featured todo application.
Enhanced version of todo application.
Simple game implementations in JavaScript.
Web-based meeting server implementation.
Fundamental JavaScript concepts.
Basic JavaScript programming concepts.
JavaScript classes and OOP.
Object-oriented programming in JavaScript.
Understanding JavaScript hoisting.
Error handling patterns and best practices.
General programming concepts and patterns.
TypeScript implementations and examples.
- Type definitions
- Interfaces
- Generics
- Advanced types
Interview preparation materials and strategies.
graph TD
A[Start Here] --> B[Core JavaScript]
B --> C[js1 - Fundamentals]
B --> D[corejs - Core Concepts]
B --> E[classes - OOP]
C --> F[DSA Basics]
F --> G[arrays]
F --> H[strings]
F --> I[objects]
G --> J[Algorithm Practice]
J --> K[Leetcode]
J --> L[codility]
J --> M[amazon]
D --> N[Advanced Concepts]
N --> O[Hoisting]
N --> P[ErrorHandling]
N --> Q[EventLoop]
E --> R[Frontend Development]
R --> S[frontendJS]
R --> T[React Tutorials]
T --> U[hooks]
U --> V[statemanagement]
V --> W[advancedstatemanagement]
D --> X[Backend Development]
X --> Y[node1]
Y --> Z[nodecore]
Z --> AA[backendjs]
AA --> AB[apis]
AB --> AC[Database & Auth]
AC --> AD[usingPrisma]
AC --> AE[oauth]
AC --> AF[Caching]
K --> AG[Interview Prep]
AF --> AG
AG --> AH[preparations]
# Node.js and npm should be installed
node --version
npm --version- Clone the repository
git clone https://github.com/Ritahchanger/Javascript-playground.git
cd Javascript-playground- Choose a topic to explore
# For DSA practice
cd Leetcode
# For React learning
cd react-tuto
# For backend development
cd nodecore
# For interview prep
cd preparations- Run examples
# For Node.js files
node filename.js
# For projects with package.json
npm install
npm start- Two Pointers
- Sliding Window
- Prefix Sum
- Binary Search
- Sorting algorithms
- Pattern matching
- String manipulation
- Anagram detection
- Palindrome checking
- DFS (Depth First Search)
- BFS (Breadth First Search)
- Tree traversals (Inorder, Preorder, Postorder)
- Binary Search Trees
- Fibonacci sequences
- Coin change problems
- Climbing stairs
- Kadane's algorithm
- Arrays & Hash Tables
- Linked Lists
- Stacks & Queues
- Trees & Graphs
- Heaps
- Variables & Scoping
- Functions & Closures
- Prototypes & Inheritance
- Async/Await & Promises
- Event Loop & Concurrency
- Currying & Functional Programming
- This keyword & Context
- WeakMap & Map
- Component lifecycle
- State management
- Hooks (useState, useEffect, useContext, custom hooks)
- Context API
- Redux patterns
- Performance optimization
- Event-driven architecture
- Streams & Buffers
- File system operations
- HTTP servers
- Express.js
- Database integration
- Caching strategies
- Rate limiting
- Authentication & Authorization
- API design
- Error handling
- Logging & Monitoring
- Clean code principles
- SOLID principles
- DRY (Don't Repeat Yourself)
- Error handling
- Code documentation
- Testing strategies
- Time complexity analysis
- Space complexity analysis
- Algorithm optimization
- Memoization
- Debouncing & Throttling
# Navigate to specific topics
cd DSA/
cd Leetcode/
cd react-tuto/
# Run JavaScript files
node filename.js
# For React projects
npm install
npm start
# For Node.js projects
npm install
node index.js- Start with js1 - JavaScript basics
- Explore corejs - Core concepts
- Practice arrays - Array manipulation
- Study strings - String operations
- Continue Leetcode - Medium problems
- Study amazon - Interview questions
- Master sorting and searching algorithms
- React Tutorials
- Hooks implementation
- State Management
- Advanced State Management
- Caching strategies
- OAuth & Social Authentication
- Role-Based Access
- Build full-stack projects
- Check individual directory README files for specific topics
- Review code comments for implementation details
- Examine test files for usage examples
| Tutorial 1 | Tutorial 2 |
|---|---|
![]() |
![]() |
π Click any banner to watch the video.
- preparations - Interview strategies
- Leetcode - Practice problems
- amazon - Company-specific questions
- codility - Timed challenges
Contributions are welcome! Here's how you can help:
-
Add new problems/solutions
- Place them in the appropriate directory
- Include comments explaining the approach
- Add time/space complexity analysis
-
Improve existing solutions
- Optimize algorithms
- Add alternative approaches
- Improve documentation
-
Create new projects
- Build example applications
- Add tutorials
- Create learning resources
-
Fix bugs
- Report issues
- Submit pull requests
- Improve error handling
This is an active learning repository that is continuously updated with new problems, solutions, and projects.
See LICENSE file for details.
- π₯ Leetcode - 80+ problem solutions
- βοΈ React Tutorials - Complete React guide
- π Node.js Core - Backend essentials
- πΎ DSA - Data structures & algorithms
- Array: Two pointers, sliding window, prefix sum
- String: Pattern matching, palindromes, anagrams
- Trees: DFS, BFS, traversals
- Dynamic Programming: Memoization, tabulation
- Graphs: Traversal, shortest path, cycles
- O(1) - Constant time
- O(log n) - Logarithmic (Binary search)
- O(n) - Linear (Array traversal)
- O(n log n) - Linearithmic (Merge sort, Quick sort)
- O(nΒ²) - Quadratic (Nested loops)
- O(2βΏ) - Exponential (Recursive Fibonacci)
Happy Coding! π
Start exploring the directories and happy learning! For questions or suggestions, please open an issue.

