developer-roadmap changelog


Welcome to the latest update! πŸŽ‰ We've got a bunch of new features, improvements, and bug fixes to make your experience even better. Let's dive into what's new and exciting!

New Features

  • Course Demo Page: We've rolled out a shiny new course demo page! πŸŽ“ Now, you can preview courses with a "Course Demo" button. If you're not logged in, no worriesβ€”just log in, and you'll be whisked away to the demo page. Plus, we've added a Google Analytics event to keep track of demo engagement. πŸ“Š

  • Editor Package: Say hello to the @roadmapsh/dummy-editor! πŸ“ This new editor package comes with a host of configurations and components like ReadonlyEditor and Renderer, all set up for a seamless development experience. It's a modular, organized addition that plays nice with existing tools and frameworks.

  • Courses Functionality: We've integrated some serious course magic into the project! πŸͺ„ Key files and components have been updated to bring you enhanced course functionality, making your learning journey smoother and more structured.

  • Courses Tab: Introducing the "Courses" tab! πŸ“š Navigate through educational resources with ease. We've added a SQL course by Kamran Ahmed, complete with all the details you need to get started on your learning path.

  • Courses Tag: Alongside the new tab, there's a dedicated "Courses" section in the SQL Roadmap. It's packed with courses, descriptions, and links to help you dive deep into SQL.

Improvements

  • Deployment Script: We've spruced up the deployment script to accept a personal access token (PAT) for cloning repositories. This makes the deployment process more efficient and secure. πŸ”

Bugfixes

  • Subscription Status: Fixed an issue where incomplete subscriptions were shown as active. Now, you'll get a clear warning and an option to update your payment info if needed. πŸ’³

  • Path Resolution: Addressed a pesky path issue in the roadmap, ensuring everything points in the right direction. πŸš€

  • Lesson Generation: We've squashed a bug in the lesson generation process, adding error handling to keep things running smoothly even when markdown conversion gets tricky. πŸ› οΈ

That's all for now, folks! Keep exploring, learning, and enjoying the new features. πŸš€βœ¨

Included Commits

2025-04-04T10:12:34 See commit

This commit addresses a bug related to lesson generation in the AICourseLesson component, ensuring that the process completes successfully. The changes include modifications to how the lesson HTML is generated from markdown. Specifically, the code now incorporates error handling when converting the markdown to HTML, allowing the function to log any errors encountered and return the original result instead of failing outright. This improves the robustness of the lesson generation feature.

Additionally, a similar error handling mechanism has been added to the markdown.ts library, which processes code snippets within the markdown. This ensures that if there are issues during the conversion of code to HTML, a warning is logged, and the original code is returned. Overall, these adjustments enhance the error resilience of the lesson generation process, making it more reliable for users.

Files changed

  • src/components/GenerateCourse/AICourseLesson.tsx
  • src/lib/markdown.ts
2025-04-04T16:19:32 See commit

This commit introduces a new "Courses" tab to the SQL Roadmap, enhancing the user experience by providing a dedicated section for educational resources. The RoadmapHeader.astro component has been modified to include a new TabLink for the Courses section, which is conditionally rendered when the SQL roadmap is active. The SQL roadmap data has also been updated to include a list of courses, featuring a comprehensive course by Kamran Ahmed, complete with a description, link, and key features such as lessons, an AI tutor, and certification.

Additionally, the new courses.astro page has been created to display the available courses, with a structured layout that highlights the course details and instructor information. The page features a dynamic section that lists courses and provides a message for users if no courses are currently available. Overall, these changes aim to facilitate learning for users by offering curated course options directly within the roadmap interface.

Files changed

  • src/components/RoadmapHeader.astro
  • src/data/roadmaps/sql/sql.md
  • src/lib/roadmap.ts
  • src/pages/[roadmapId]/courses.astro
2025-04-04T19:54:24 See commit

The recent commit modifies the GitHub Actions deployment script located in .github/workflows/deployment.yml to enhance the way it handles the GitHub Personal Access Token (PAT). Previously, the environment variable GH_PAT was defined at the top of the script, but this version removes that definition and instead directly utilizes the PAT when cloning the repository. This change simplifies the script by reducing the number of lines and making it more concise.

Additionally, the commit updates the command used to generate the production build by incorporating the PAT directly within the command line, ensuring that it's properly passed as an environment variable when running the build process. This adjustment improves the security and efficiency of the deployment script while maintaining the same functionality.

Files changed

  • .github/workflows/deployment.yml
2025-04-04T20:07:40 See commit

The recent commit updates the deployment script located in the .github/workflows/deployment.yml file to accept a personal access token (PAT) for authentication. Specifically, it adds a line to the script that utilizes the GitHub PAT stored in secrets to access the web-draw repository via a remote command.

This enhancement improves the security and flexibility of the deployment process by enabling the script to authenticate with GitHub without exposing sensitive credentials directly in the code. The change includes a single addition to the script, ensuring that the deployment can proceed smoothly with the necessary permissions.

Files changed

  • .github/workflows/deployment.yml
2025-04-04T20:11:47 See commit

This commit modifies the deployment script located in the GitHub Actions workflow file (deployment.yml). The key change involves replacing a command that lists remote branches with a command that clones a specific repository using a personal access token (PAT). The script now clones the web-draw repository to a temporary directory (web-draw-temp) with a depth of 1, which optimizes the cloning process by only fetching the latest commit.

Overall, this adjustment enhances the deployment process by ensuring that the necessary repository is cloned directly, improving efficiency and potentially simplifying the subsequent build steps. The change reflects a shift towards using a more direct method for accessing the repository, which may also improve security by utilizing the PAT for authentication.

Files changed

  • .github/workflows/deployment.yml
2025-04-04T22:41:05 See commit

This commit introduces a new editor package, @roadmapsh/dummy-editor, which includes several essential files and configurations for its setup. Key additions include a package.json file that defines the package's metadata, dependencies, and scripts for development and building processes. The commit also establishes a .gitignore file to manage ignored files and directories, including build outputs and environment files. Additionally, a postcss.config.mjs file is created to configure PostCSS plugins, particularly for Tailwind CSS.

The editor's functionality is further defined through various React components, such as ReadonlyEditor, Renderer, and utility functions for generating roadmaps from text inputs. These components are designed to provide a structured interface for users, with warnings indicating that certain functions are not yet implemented. The commit also includes TypeScript configuration files, a build configuration using tsup, and a script for generating the editor from a temporary directory, ensuring a streamlined development experience. Overall, this commit lays the groundwork for a new editor that integrates with existing tools and frameworks while providing a modular and organized codebase.

Files changed

  • editor/.gitignore
  • editor/package.json
  • editor/postcss.config.mjs
  • editor/src/components/readonly-editor.tsx
  • editor/src/components/render-flow-json.ts
  • editor/src/components/renderer.tsx
  • editor/src/components/roadmap-generator.ts
  • editor/src/components/types.ts
  • editor/src/global.css
  • editor/src/index.tsx
  • editor/tsconfig.json
  • editor/tsup.config.ts
  • scripts/generate-renderer-dummy.sh
2025-04-05T18:37:01 See commit

The commit titled "chore: update roadmap content json (#8455)" involves modifications to multiple JSON files that outline various topics in technology. Notably, the changes include an updated URL for a section on managing context in AI text generation, ensuring that users have access to the most current documentation. Additionally, the ASP.NET Core roadmap content has been significantly expanded with a detailed description of Minimal APIs, emphasizing their lightweight nature and suitability for microservices and serverless applications. This section now includes links to external articles that provide further insights into Minimal APIs in .NET.

Furthermore, the C++ roadmap content has seen a minor correction in the title from "Standardds" to "Standards," alongside a comprehensive description of the evolution of C++ standards over time. This includes summaries of key features introduced in various versions, from C++98 to C++20, providing a clear historical context for developers. The modifications enhance the clarity and utility of the roadmap content, making it more informative for users looking to understand these technologies better.

Files changed

  • public/roadmap-content/ai-engineer.json
  • public/roadmap-content/aspnet-core.json
  • public/roadmap-content/cpp.json
2025-04-07T12:49:38 See commit

This commit introduces a new functionality related to courses within the existing project. It involves modifications to several key files, including configuration files like settings.json and package.json, indicating potential updates to the project's dependencies or settings. The pnpm-lock.yaml file has also been updated, likely reflecting changes in package versions or dependencies due to the new feature.

In addition, several components and pages have been modified to integrate the courses functionality. Notably, the RoadmapHeader.astro component and various pages under the [roadmapId] directory, including courses.astro, index.astro, and projects.astro, have been updated to accommodate this new feature, suggesting a significant enhancement to the user experience and project structure.

Files changed

  • .astro/settings.json
  • package.json
  • pnpm-lock.yaml
  • src/components/RoadmapHeader.astro
  • src/pages/[roadmapId]/courses.astro
  • src/pages/[roadmapId]/index.astro
  • src/pages/[roadmapId]/projects.astro
2025-04-07T15:20:04 See commit

This commit addresses a path resolution issue in the file src/pages/[roadmapId]/[...topicId].astro. The modification involves a change to how the project root directory is defined, specifically by adding a hack to remove the 'dist' segment from the resolved path. This adjustment is marked with a comment indicating it is a temporary fix, with a note to revisit and correct the implementation in the future.

The commit includes a total of three changes, with two lines added and one line deleted. The primary focus is to ensure the correct construction of the path to the markdown file, which is essential for the functionality of the application. This change highlights ongoing efforts to improve code reliability while acknowledging the need for further refinement.

Files changed

  • src/pages/[roadmapId]/[...topicId].astro
2025-04-07T18:27:00 See commit

This commit introduces a new "Courses" tab to the existing roadmap interface, enhancing user navigation and access to educational resources. Modifications were made to several components, including the RoadmapHeader.astro and TabLink.tsx, to accommodate the new tab and its associated styling. The TabLink component was updated to accept an additional className prop, allowing for more flexible styling options.

Furthermore, multiple roadmap markdown files were updated to include a new section for courses, featuring a comprehensive SQL course taught by Kamran Ahmed. Each course entry includes details such as a description, features, a link, and instructor information. The new "Courses" tab aims to provide users with structured learning paths, thereby enhancing the overall educational experience on the platform.

Files changed

  • src/components/RoadmapHeader.astro
  • src/components/TabLink.tsx
  • src/data/roadmaps/api-design/api-design.md
  • src/data/roadmaps/aspnet-core/aspnet-core.md
  • src/data/roadmaps/backend/backend.md
  • src/data/roadmaps/data-analyst/data-analyst.md
  • src/data/roadmaps/full-stack/full-stack.md
  • src/data/roadmaps/java/java.md
  • src/data/roadmaps/nodejs/nodejs.md
  • src/data/roadmaps/php/php.md
  • src/data/roadmaps/postgresql-dba/postgresql-dba.md
  • src/data/roadmaps/python/python.md
  • src/data/roadmaps/software-architect/software-architect.md
  • src/data/roadmaps/spring-boot/spring-boot.md
  • src/data/roadmaps/system-design/system-design.md
  • src/pages/[roadmapId]/courses.astro
2025-04-07T18:58:58 See commit

This commit addresses a bug in the BillingPage component of the application, where subscriptions that are marked as "incomplete" were incorrectly displayed as active subscriptions. The changes include the addition of a new state variable, isIncomplete, which checks if the billing details indicate an incomplete status. If the subscription is incomplete, a warning message is displayed to the user, prompting them to update their payment information through a button that activates the customer portal.

In addition to the functional changes, the commit also includes several modifications to the component's layout and styling, ensuring that the user interface remains clear and intuitive. This involves conditional rendering of elements based on the subscription status, which enhances the user experience by providing appropriate feedback and options based on their billing situation. Overall, the commit improves the accuracy of subscription status representation and strengthens user guidance regarding payment issues.

Files changed

  • src/components/Billing/BillingPage.tsx
2025-04-10T16:55:18 See commit

This commit introduces a course demo page feature, enhancing user interaction by adding a "Course Demo" button that enables users to access a sample of the course. It includes modifications to the BuyButton component, where a new onReadSampleClick function is implemented to handle demo access. If the user is not logged in, the demo access is set to trigger a login prompt, and upon successful login, the user is redirected to the demo page. Additionally, a Google Analytics event is integrated to track when the demo is started, contributing to better analytics on user engagement.

Changes were made to the CourseLoginPopup component to accommodate the new demo functionality, including the addition of a SAMPLE_AFTER_LOGIN_KEY to manage state in local storage. The commit also refines the user interface, ensuring that both the buy and demo buttons are visually appealing and functional. Overall, this update aims to improve the user experience by providing potential customers with a preview of the course before making a purchase decision.

Files changed

  • src/components/AuthenticationFlow/CourseLoginPopup.tsx
  • src/components/SQLCourse/BuyButton.tsx