A LeetCode-style coding platform with 155+ challenges across 19 categories
Quick Start • Features • Categories • Tech Stack • Contributing
| Problems | Categories | Test Files | Lines of Code |
A production-grade learning platform for mastering JavaScript and TypeScript through hands-on coding challenges. Think LeetCode, but focused entirely on JS/TS fundamentals, patterns, and best practices.
Built with the latest technologies and following modern development practices, this platform offers:
- Real coding environment powered by Monaco Editor (the engine behind VS Code)
- Instant feedback with automated test runners and detailed error reporting
- Progress tracking to monitor your learning journey
- Beautiful UI with dark/light themes and responsive design
|
|
|
|
# Clone the repository
git clone https://github.com/davidagustin/coding-tricks-practice.git
# Navigate to project
cd coding-tricks-practice
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 and start coding!
All Available Scripts
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run start |
Start production server |
npm test |
Run all tests |
npm run test:watch |
Run tests in watch mode |
npm run test:coverage |
Generate coverage report |
npm run lint |
Run ESLint |
npm run format |
Format with Biome |
| Category | Topics | |
|---|---|---|
| 📘 | JavaScript Basics | Fundamentals, operators, control flow |
| 📦 | Array Methods | map, filter, reduce, find, every, some |
| ⏳ | Async/Promises | Promises, async/await, error handling |
| 🔷 | TypeScript Basics | Types, interfaces, generics |
| 🔶 | TypeScript Advanced | Conditional types, mapped types, infer |
| 🧮 | Functional Programming | Currying, composition, memoization |
| ✨ | ES6+ Features | Destructuring, spread, modules |
| 🏗️ | Design Patterns | Factory, singleton, observer, decorator |
| 🗃️ | Data Structures | Sets, Maps, WeakMap, WeakSet |
| 🔍 | Algorithms | Sorting, searching, recursion |
| 🌐 | DOM/Browser | Events, storage, observers |
| ⚡ | Performance | Optimization, debounce, throttle |
| 🧪 | Testing Patterns | Mocks, stubs, TDD practices |
| 🚨 | Error Handling | Try/catch, custom errors |
| 🔤 | Regular Expressions | Patterns, lookahead, validation |
| 📝 | String Methods | Manipulation, formatting, parsing |
| 🔑 | Object Methods | Keys, values, entries, freeze |
| 📅 | Date & Time | Formatting, timezones, calculations |
| 🔢 | Numbers & Math | Precision, formatting, BigInt |
Full Technology Breakdown
Frontend
- Next.js 16 (App Router)
- React 19
- TypeScript 5.9
- Tailwind CSS 4.0
Editor
- Monaco Editor
- Custom syntax highlighting
- IntelliSense integration
Testing
- Jest
- React Testing Library
- 40+ test suites
Quality
- ESLint
- Biome
- Husky pre-commit hooks
Deployment
- Vercel optimized
- Edge-ready
- Global CDN
coding-tricks-practice/
├── app/ # Next.js App Router
│ ├── page.tsx # Home with stats
│ ├── layout.tsx # Root layout
│ ├── problems/
│ │ ├── page.tsx # Problems list
│ │ └── [id]/page.tsx # Problem detail
│
├── components/ # React Components
│ ├── CodeEditor.tsx # Monaco wrapper
│ ├── TestResults.tsx # Test display
│ ├── ProblemTable.tsx # Problems list
│ ├── FilterSidebar.tsx # Filters
│ ├── Navbar.tsx # Navigation
│ └── ThemeToggle.tsx # Theme switcher
│
├── lib/ # Core Logic
│ ├── problems/ # 155+ problems
│ ├── test-runner.ts # Sandboxed execution
│ └── constants.ts # App constants
│
└── __tests__/ # Test Suites
├── app/ # Page tests
├── components/ # Component tests
└── lib/ # Library tests
|
|
Optimized for Vercel with automatic HTTPS, global CDN, and zero-config deployment.
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source under the MIT License.