[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81367":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},81367,"improving-everyday","sooraj-sky\u002Fimproving-everyday","sooraj-sky","Zero to Hero self-paced learning platform for DevOps engineers.","",null,"TypeScript",43,40,39,1,0,3,4,9,4.84,false,"main",true,[25,26,27],"devops","devops-platform","lms","2026-06-12 02:04:14","# DevOps Learn\n\nA self-paced DevOps learning platform with 20 tracks covering Linux, cloud, containers, CI\u002FCD, security, and more. Everything runs locally in the browser with no backend required.\n\n---\n\n## Features\n\n- **20 learning tracks** organized from beginner to advanced, with modules and individual lessons\n- **Progress tracking**: Lesson completion state is saved automatically in your browser profile\n- **Profile system**: Support for multiple learner profiles, each with independent progress tracking\n- **Module exams**: Quiz-style assessments to test your knowledge at the end of each module\n- **Notes**: Ability to attach personal study notes to any lesson\n- **Full-text search**: Instant search across all 20 tracks, modules, and lessons\n- **Light \u002F Dark mode**: Easy theme toggling from the top navigation bar\n- **Lesson navigation**: Previous\u002Fnext links within a track and breadcrumb navigation\n- **No backend required**: All data is saved locally using browser localStorage\n\n---\n\n## Learning Tracks\n\n| # | Track | Level | Topics |\n|---|-------|-------|--------|\n| 01 | **Linux** | Beginner → Advanced | File system, permissions, process management, shell scripting, security hardening |\n| 02 | **Linux Networking** | Beginner → Advanced | TCP\u002FIP, DNS, firewalls, network troubleshooting, VPNs |\n| 03 | **Scripting & Automation** | Beginner → Intermediate | Bash scripting, cron, automation patterns |\n| 04 | **SSH & Network Protocols** | Beginner → Intermediate | SSH keys, tunneling, port forwarding, SCP\u002FSFTP |\n| 05 | **Git** | Beginner → Advanced | Branching, merging, rebasing, hooks, workflows |\n| 06 | **GitHub Actions** | Beginner → Advanced | Workflows, runners, secrets, matrix builds, reusable workflows |\n| 07 | **GitLab CI\u002FCD** | Beginner → Advanced | Pipelines, runners, templates, environments, Container Registry, security scanning |\n| 08 | **Python** | Beginner → Advanced | Core Python, scripting, automation, APIs, testing |\n| 09 | **Docker** | Beginner → Advanced | Images, containers, volumes, networking, Docker Compose, security |\n| 10 | **Databases** | Beginner → Intermediate | SQL, PostgreSQL, Redis, backups, connection pooling |\n| 11 | **Web Technology** | Beginner → Intermediate | HTTP, TLS, reverse proxies, load balancing, CDNs |\n| 12 | **SDLC** | Beginner → Intermediate | Agile, Scrum, Kanban, release management, SLOs |\n| 13 | **Go Programming** | Beginner → Intermediate | Go fundamentals, concurrency, CLI tools, Docker\u002FKubernetes SDKs |\n| 14 | **Terraform** | Beginner → Advanced | HCL, providers, modules, workspaces, remote state, advanced patterns |\n| 15 | **AWS** | Beginner → Advanced | EC2, S3, VPC, IAM, RDS, EKS, Lambda, CloudFormation |\n| 16 | **Kubernetes** | Intermediate → Advanced | Pods, deployments, services, ingress, RBAC, Helm, operators |\n| 17 | **DevSecOps** | Intermediate → Advanced | Threat modeling, SAST\u002FDAST, secret scanning, supply chain security |\n| 18 | **Troubleshooting** | Intermediate → Advanced | Systematic debugging, observability, incident response, postmortems |\n| 19 | **Compliance** | Intermediate → Advanced | SOC 2, ISO 27001, GDPR, audit trails, policy as code |\n| 20 | **Prompt Engineering** | Beginner → Advanced | LLM fundamentals, prompt patterns, AI-assisted DevOps workflows |\n\n---\n\n## Screenshots\n\n### Dashboard\n![Dashboard](public\u002Fscreenshots\u002Fdashboard.png)\n\n### Track Page\n![Track Page](public\u002Fscreenshots\u002Ftrack.png)\n\n### Lesson Viewer\n![Lesson Viewer](public\u002Fscreenshots\u002Flesson.png)\n\n---\n\n## Running Locally\n\n### What you need first\n\nBefore you start, make sure you have the following installed on your computer:\n\n- **Node.js v18 or higher**: Download from [nodejs.org](https:\u002F\u002Fnodejs.org) (LTS version is recommended)\n  - To check if you already have it: open a terminal and run `node -v`\n- **Git**: Download from [git-scm.com](https:\u002F\u002Fgit-scm.com)\n  - To check if you already have it: run `git --version`\n\n### Step-by-step setup\n\n**1. Clone the repository**\n\nThis downloads the project code to your computer.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002F\u003Cyour-username>\u002Fdevops-lms.git\n```\n\n**2. Enter the project folder**\n\n```bash\ncd devops-lms\n```\n\n**3. Install dependencies**\n\nThis installs all the libraries the project needs. It may take a minute.\n\n```bash\nnpm install\n```\n\n**4. Start the development server**\n\n```bash\nnpm run dev\n```\n\n**5. Open the app**\n\nOpen your browser and go to: [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000)\n\nYou'll be asked to create a learner profile on first launch. Enter any name and click **Get Started**.\n\n> **Tip:** The development server supports hot reloading. Any changes you make to the code will appear in the browser instantly without restarting the server.\n\n---\n\n## Running with Docker\n\nDocker lets you run the app in a container without installing Node.js. This is the recommended way to run it in production.\n\n### What you need\n\n- **Docker Desktop**: Download from [docker.com](https:\u002F\u002Fwww.docker.com\u002Fproducts\u002Fdocker-desktop) and ensure it is running\n\n### Option 1: Pull the pre-built image from GitHub Container Registry\n\nIf the project has been pushed to GitHub, you can pull the ready-made image directly:\n\n```bash\ndocker pull ghcr.io\u002F\u003Cgithub-username>\u002F\u003Crepo-name>:latest\ndocker run -p 3000:3000 ghcr.io\u002F\u003Cgithub-username>\u002F\u003Crepo-name>:latest\n```\n\nThen open [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000).\n\n### Option 2: Build the image yourself\n\nIf you've cloned the repository and want to build locally:\n\n```bash\n# Build the image (this takes a few minutes the first time)\ndocker build -t devops-lms .\n\n# Run the container\ndocker run -p 3000:3000 devops-lms\n```\n\nThen open [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000).\n\nTo stop the container, press `Ctrl + C` in the terminal.\n\n### Run in the background (detached mode)\n\nIf you want the container to keep running after you close the terminal:\n\n```bash\ndocker run -d -p 3000:3000 --name devops-lms devops-lms\n```\n\nTo stop it later:\n\n```bash\ndocker stop devops-lms\n```\n\n---\n\n## Building using Docker Compose (Self Hosting)\n## Docker Compose\n\n```bash\ndocker compose up -d\n```\n\nExample compose file:\n\n```yaml\nservices:\n  improving-everyday:\n    image: ghcr.io\u002Fsooraj-sky\u002Fimproving-everyday:latest\n    container_name: devops-local-book\n\n    ports:\n      - \"3000:3000\"\n\n    environment:\n      NODE_ENV: production\n      PORT: 3000\n      HOSTNAME: 0.0.0.0\n\n    restart: unless-stopped\n```\n\n## Building for Production (without Docker)\n\nIf you want to run the optimised production build directly with Node.js:\n\n```bash\n# Build the app\nnpm run build\n\n# Start the production server\nnpm start\n```\n\nThe app will be available at [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000). The production build is faster and uses less memory than the development server.\n\n---\n\n## Tech Stack\n\n| Technology | Purpose |\n|-----------|---------|\n| [Next.js](https:\u002F\u002Fnextjs.org) | React framework (App Router) |\n| TypeScript | Type-safe JavaScript |\n| Tailwind CSS | Styling |\n| localStorage | Client-side data storage (no external database required) |\n| React Context | State management for profiles and progress |\n| Lucide React | Icons |\n\n---\n\n## Project Structure\n\n```\ndevops-lms\u002F\n├── app\u002F                  # Pages and routes (Next.js App Router)\n├── components\u002F\n│   ├── layout\u002F           # Sidebar, top nav, app shell\n│   ├── lesson\u002F           # Lesson viewer, code blocks, quizzes\n│   └── ui\u002F               # Reusable UI primitives (buttons, dialogs, etc.)\n├── lib\u002F\n│   ├── content\u002F          # All 20 learning tracks as TypeScript files\n│   └── hooks\u002F            # React hooks (useProfile, useProgress, useNotes, useTheme)\n└── public\u002F               # Static assets and screenshots\n```\n\n---\n\n## Adding a New Track\n\nEach learning track is a single TypeScript file. To add your own:\n\n1. Create `lib\u002Fcontent\u002Fmy-topic.ts` by copying the structure of an existing track, such as `lib\u002Fcontent\u002Flinux.ts`\n2. Import and add it to the `tracks` array in `lib\u002Fcontent\u002Findex.ts`\n3. Add a gradient colour class for the track card in `app\u002Fglobals.css`\n\n---\n\n## Troubleshooting\n\n**`npm install` fails**\nMake sure you have Node.js v18 or higher. Run `node -v` to check. If the version is lower, download the latest LTS from [nodejs.org](https:\u002F\u002Fnodejs.org).\n\n**Port 3000 is already in use**\nAnother app is using port 3000. Either stop that app, or run the dev server on a different port:\n```bash\nnpm run dev -- -p 3001\n```\nThen open [http:\u002F\u002Flocalhost:3001](http:\u002F\u002Flocalhost:3001).\n\n**Docker build fails with \"Cannot connect to the Docker daemon\"**\nDocker Desktop is not running. Open it from your Applications folder (Mac) or Start menu (Windows) and wait for it to fully start before running the build command again.\n\n**Changes I make to the code don't appear**\nMake sure the development server (`npm run dev`) is running. If it is, try refreshing the browser. If the issue persists, stop the server with `Ctrl + C` and start it again.\n","这是一个面向DevOps工程师的自学习平台，提供了从零基础到高级的20个学习路径，涵盖Linux、云服务、容器技术、CI\u002FCD及安全等内容。项目使用TypeScript编写，所有内容均在浏览器本地运行，无需后端支持。其核心功能包括进度跟踪、多用户档案系统、模块测验、笔记功能以及全文搜索等。此外，该平台还支持明暗模式切换和便捷的课程导航。由于其完全基于前端技术实现，特别适合个人开发者或小团队在没有复杂基础设施的情况下进行自我提升和技术培训。",2,"2026-06-11 04:04:48","CREATED_QUERY"]