JS4All is a comprehensive JavaScript learning platform designed to help developers master JavaScript from fundamentals to advanced topics. The platform combines curated resources, interactive quizzes, and structured learning roadmaps to provide an all-in-one learning experience.
π Live at: https://js4all.site
- Visit the live site: js4all.site
- Explore resources: Browse curated documentation, books, and courses
- Take a quiz: Test your knowledge with interactive quizzes
- Follow the roadmap: Learn step-by-step from basics to advanced
Or clone and run locally:
git clone https://github.com/pratik20gb/js4all.git
cd js4all
npm install
npm run dev- Best-in-class documentation - Direct links to MDN Web Docs and other authoritative sources
- Recommended books - Carefully selected JavaScript books for all skill levels
- Video courses - Top-rated courses from leading platforms
- Tools & utilities - Essential development tools and libraries
- Bento grid layout - Beautiful, modern presentation of resources
- Multiple difficulty levels - Easy, Medium, and Hard questions
- Flexible question sets - Choose from 10, 20, or 30 questions
- Detailed explanations - Comprehensive explanations for every answer
- Real-time feedback - Instant results and performance tracking
- Structured learning path - Step-by-step guide from basics to advanced
- Career paths - Specialized tracks for different JavaScript careers
- Library recommendations - Popular libraries and frameworks
- Prerequisites & next steps - Clear learning dependencies
- Responsive design - Works seamlessly on all devices
- Smooth animations - Powered by Framer Motion
- Dark mode support - Easy on the eyes
- Loading screen - Professional loading experience
This project is built with modern web technologies:
- Vite - Lightning-fast build tool and dev server
- React 18 - Modern UI library with hooks
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Beautiful, accessible component library
- React Router - Client-side routing
- Framer Motion - Production-ready motion library
- Lucide Icons - Beautiful icon library
- Node.js (v18 or higher recommended)
- npm or yarn or pnpm
-
Clone the repository:
git clone https://github.com/pratik20gb/js4all.git cd js4all -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser: Navigate to
http://localhost:8080
| Command | Description |
|---|---|
npm run dev |
Start the development server |
npm run build |
Build for production |
npm run build:dev |
Build in development mode |
npm run preview |
Preview the production build |
npm run lint |
Run ESLint for code quality |
js4all/
βββ public/
β βββ js4all.jpg # Project logo
β βββ sagelogo.png # Favicon
β βββ robots.txt # SEO configuration
βββ src/
β βββ components/ # React components
β β βββ ui/ # shadcn/ui components
β β βββ Header.tsx # Navigation header
β β βββ Footer.tsx # Site footer
β β βββ LoadingScreen.tsx # Loading animation
β β βββ ...
β βββ data/ # Static data
β β βββ quizQuestions.ts
β β βββ resources.ts
β β βββ roadmap.ts
β βββ pages/ # Page components
β β βββ Index.tsx # Home page
β β βββ Quiz.tsx # Quiz page
β β βββ Roadmap.tsx # Roadmap page
β β βββ NotFound.tsx # 404 page
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions
β βββ App.tsx # Main app component
β βββ main.tsx # Application entry point
β βββ index.css # Global styles
βββ index.html # HTML template
βββ package.json # Dependencies
βββ tsconfig.json # TypeScript config
βββ vite.config.ts # Vite configuration
βββ tailwind.config.ts # Tailwind CSS config
The project is deployed and live at js4all.site using Vercel with a custom domain.
npm run build
vercel deployCustom Domain Setup:
- Domain:
js4all.site - Configured via Vercel dashboard
- Automatic HTTPS enabled
- See
DOMAIN_SETUP.mdfor detailed setup instructions
npm run build
# Deploy the `dist` foldernpm run build
# Deploy the `dist` folder to gh-pages branchFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 8080
CMD ["npm", "run", "preview"]Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
Pratik Raj (sage)
- π Website: js4all.site
- X (Twitter): @sage_pratik
- GitHub: @pratik20gb
- MDN Web Docs - For comprehensive JavaScript documentation
- shadcn - For the beautiful component library
- All the contributors and maintainers of the open-source libraries used in this project
Made with β€οΈ by Pratik Raj
Visit JS4All β’ Follow on X β’ Star on GitHub
