diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 6346c13bb..000000000 --- a/.eslintrc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": [ - "next", - "next/core-web-vitals", - "prettier" - ], - "rules": { - "@next/next/no-img-element": [ - "off" - ], - "react/display-name": [ - "off" - ], - "react/jsx-no-target-blank": [ - "off" - ] - } -} diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 5854e4ab9..000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -# These are supported funding model platforms -github: kamranahmedse diff --git a/.github/images/banner.png b/.github/images/banner.png deleted file mode 100644 index 8fdcec93e..000000000 Binary files a/.github/images/banner.png and /dev/null differ diff --git a/.github/sponsors/doppler-logo.svg b/.github/sponsors/doppler-logo.svg deleted file mode 100644 index 89cb53843..000000000 --- a/.github/sponsors/doppler-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.github/sponsors/oss-logo.svg b/.github/sponsors/oss-logo.svg deleted file mode 100644 index 449ac4d54..000000000 --- a/.github/sponsors/oss-logo.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/.github/sponsors/workos-logo-white-bg.svg b/.github/sponsors/workos-logo-white-bg.svg deleted file mode 100644 index 3c9bb24c7..000000000 --- a/.github/sponsors/workos-logo-white-bg.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 825ffb15a..000000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Deployment to GH Pages -on: - push: - branches: [ master ] -env: - ROADMAP_GA_SECRET: ${{ secrets.GA_SECRET }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PAT: ${{ secrets.PAT }} - CI: true - NEXT_TELEMETRY_DISABLED: 1 -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - persist-credentials: false - - uses: actions/setup-node@v1 - with: - node-version: 16 - - name: Setup Environment - run: | - npm install - - name: Generate meta and build - run: | - npm run meta - npm run build - - name: Deploy to GH Pages - run: | - git config user.email "kamranahmed.se@gmail.com" - git config user.name "Kamran Ahmed" - git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git - npm run deploy diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1184aef95..000000000 --- a/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. -out - -# dependencies -/node_modules -/.pnp -.pnp.js -yarn.lock - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.idea -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env.local -.env.development.local -.env.test.local -.env.production.local - -# vercel -.vercel diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 02ff4340e..000000000 --- a/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "semi": true, - "singleQuote": true, - "tabWidth": 2 -} \ No newline at end of file diff --git a/code_of_conduct.md b/code_of_conduct.md deleted file mode 100644 index 51b44888f..000000000 --- a/code_of_conduct.md +++ /dev/null @@ -1,76 +0,0 @@ -# Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to make participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies within all project spaces, and it also applies when -an individual is representing the project or its community in public spaces. -Examples of representing a project or community include using an official -project e-mail address, posting via an official social media account, or acting -as an appointed representative at an online or offline event. Representation of -a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at . All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq diff --git a/components/content-page-header.tsx b/components/content-page-header.tsx deleted file mode 100644 index ec13e690a..000000000 --- a/components/content-page-header.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { Box, Container, Flex, Heading, Image, Link, Text } from '@chakra-ui/react'; -import React from 'react'; - -type ContentPageHeaderProps = { - formattedDate: string; - title: string; - subtitle: string; - author?: { - name: string; - twitter: string; - picture: string; - }, - subLink?: { - text: string; - url: string; - } -}; - -export function ContentPageHeader(props: ContentPageHeaderProps) { - const { title, subtitle, author = null, formattedDate, subLink = null } = props; - - return ( - - - - - {author?.name && ( - <> - - {''} - {author.name} - - · - - )} - - {formattedDate} - {subLink?.text && ( - <> - · - {subLink.text} - - )} - - {title} - {subtitle} - - - ); -} diff --git a/components/custom-ad.tsx b/components/custom-ad.tsx deleted file mode 100644 index c6b77b4fd..000000000 --- a/components/custom-ad.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import { Box, Flex, Heading, Image, Link } from '@chakra-ui/react'; -import { event } from '../lib/gtag'; - -function getPageSlug() { - const pathname = (typeof window !== 'undefined' ? window : {} as any)?.location?.pathname || ''; - - return pathname?.replace(/\//g, ''); -} - -export const CustomAd = () => { - const slug = getPageSlug(); - - if (slug !== 'devops') { - return null; - } - - return ( - { - event({ - category: 'SponsorClick', - action: `Ambassador EBook Redirect`, - label: `Clicked Ambassador EBook Link` - }); - }} - > - Custom Logo - - - Free eBook - - Learn about API Gateways, Microservices, Load Balancing, and more with this free eBook. - - - - Partner Content - - - - ); -}; diff --git a/components/dimmed-more.tsx b/components/dimmed-more.tsx deleted file mode 100644 index 1a24772da..000000000 --- a/components/dimmed-more.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { Box, Link, Text } from '@chakra-ui/react'; - -type DimmedMoreProps = { - text: string; - href: string; -}; - -export function DimmedMore(props: DimmedMoreProps) { - const { text, href } = props; - - return ( - - - - - {text} - - - - ); -} diff --git a/components/footer.tsx b/components/footer.tsx deleted file mode 100644 index e5cde014e..000000000 --- a/components/footer.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { Box, Container, Flex, Image, Link, SimpleGrid, Stack, Text } from '@chakra-ui/react'; -import siteConfig from '../content/site.json'; -import { CustomAd } from './custom-ad'; -import React from 'react'; -import { event } from '../lib/gtag'; - -function NavigationLinks() { - return ( - <> - - Roadmaps - Guides - Videos - About - YouTube - - - - Roadmaps - Guides - Videos - About - YouTube - - - ); -} - -export function Footer() { - return ( - - - - - - - - - - roadmap.sh - - by - @kamranahmedse - - - Community created roadmaps, articles, resources and - journeys to help you choose your path and grow in your career. - - - © roadmap.sh· - FAQs· - Terms· - Privacy - - - - - - - - - The leading DevOps resource for Kubernetes, cloud-native - computing, and the latest in at-scale development, deployment, and management. - - - { - event({ - category: 'PartnerClick', - action: `TNS Referral`, - label: `TNS Referral - Footer`, - }); - }} - color='gray.400' mx='10px' ml={['0', '0', '10px']}>DevOps· - { - event({ - category: 'PartnerClick', - action: `TNS Referral`, - label: `TNS Referral - Footer`, - }); - }} - color='gray.400' mx='10px'>Kubernetes· - { - event({ - category: 'PartnerClick', - action: `TNS Referral`, - label: `TNS Referral - Footer`, - }); - }} - color='gray.400' mx='10px'>Cloud-Native - - - - - - - - ); -} diff --git a/components/global-header.tsx b/components/global-header.tsx deleted file mode 100644 index 546625676..000000000 --- a/components/global-header.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import { useState } from 'react'; -import { HamburgerIcon } from '@chakra-ui/icons'; -import { Box, CloseButton, Container, Flex, IconButton, Link, Stack, Text } from '@chakra-ui/react'; -import RoadmapLogo from '../components/icons/roadmap.svg'; - -type MenuLinkProps = { - text: string; - link: string; - target?: '_blank' | '_self' | '_parent' | '_top'; - isFancy?: boolean; -}; - -function MenuLink(props: MenuLinkProps) { - const { text, link, target = '_self', isFancy = false } = props; - - const gradientProp = isFancy ? { - bgGradient: 'linear(to-r, yellow.100, teal.100)', - bgClip: 'text', - _hover: { - color: 'yellow.100' - } - } : {}; - - return - {text} - ; -} - -function DesktopMenuLinks() { - return ( - - - - - - - Subscribe - - ); -} - -function MobileMenuLinks() { - const [isOpen, setIsOpen] = useState(false); - - return ( - <> - } - color='white' - cursor='pointer' - h='auto' - bg='transparent' - _hover={{ bg: 'transparent' }} - _active={{ bg: 'transparent' }} - _focus={{ bg: 'transparent' }} - onClick={() => setIsOpen(true)} - /> - - {isOpen && ( - - Roadmaps - Guides - Videos - Subscribe - setIsOpen(false)} pos='fixed' top='40px' right='15px' size='lg' /> - - )} - - ); -} - -type GlobalHeaderProps = { - variant?: 'transparent' | 'solid' -}; - -export function GlobalHeader(props: GlobalHeaderProps) { - const { variant = 'solid' } = props; - - return ( - - - - - - - roadmap.sh - - - - - - - - ); -} diff --git a/components/guide/guide-grid-item.tsx b/components/guide/guide-grid-item.tsx deleted file mode 100644 index c6e35a41e..000000000 --- a/components/guide/guide-grid-item.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { Badge, Box, Heading, Link, Text } from '@chakra-ui/react'; -import { GuideType } from '../../lib/guide'; - -type GuideGridItemProps = { - title: string; - href: string; - subtitle: string; - date: string; - isNew?: boolean; - colorIndex?: number; - type?: GuideType['type']; -}; - -const bgColorList = [ - 'gray.700', - 'purple.800' -]; - -export function GuideGridItem(props: GuideGridItemProps) { - const { title, subtitle, date, isNew = false, colorIndex = 0, href, type } = props; - - return ( - - - {isNew && New} - {type} Guide - - {title} - {subtitle} - - ); -} diff --git a/components/helmet.tsx b/components/helmet.tsx deleted file mode 100644 index cb51227eb..000000000 --- a/components/helmet.tsx +++ /dev/null @@ -1,150 +0,0 @@ -import NextHead from 'next/head'; -import siteConfig from '../content/site.json'; -import { RoadmapType } from '../lib/roadmap'; - -type HelmetProps = { - title?: string; - keywords?: string[]; - canonical?: string; - description?: string; - noIndex?: boolean; - roadmap?: RoadmapType; -}; - -function getRichSnippetJson(roadmap: RoadmapType) { - return { - '@context': 'https://schema.org', - '@type': 'Article', - mainEntityOfPage: { - '@type': 'WebPage', - '@id': `https://roadmap.sh/${roadmap.id}`, - }, - headline: roadmap.seo.title, - description: roadmap.seo.description, - image: roadmap.jsonUrl - ? `https://roadmap.sh/roadmaps/${roadmap.id}.png` - : undefined, - author: { - '@type': 'Person', - name: 'Kamran Ahmed', - url: 'https://twitter.com/kamranahmedse', - }, - publisher: { - '@type': 'Organization', - name: 'roadmap.sh', - logo: { - '@type': 'ImageObject', - url: 'https://roadmap.sh/brand-square.png', - }, - }, - }; -} - -const Helmet = (props: HelmetProps) => { - const { roadmap, title, canonical, description, keywords, noIndex = false } = props; - - return ( - - - - {title || siteConfig.title} - - - - - - {noIndex && } - - - {canonical && } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {roadmap?.id && ( - - -## This isn't the full story -For brevity, I included only a few of the important snippets of code. Notably, I left out all the glue code, parsing, unit tests, and the boring parts that build character. View my [full implementation](https://github.com/veggiedefender/torrent-client) if you're interested. diff --git a/content/guides/unfamiliar-codebase.md b/content/guides/unfamiliar-codebase.md deleted file mode 100644 index 31a192a11..000000000 --- a/content/guides/unfamiliar-codebase.md +++ /dev/null @@ -1,2 +0,0 @@ -[![](/guides/unfamiliar-codebase.png)](/guides/unfamiliar-codebase.png) - diff --git a/content/guides/upcoming.md b/content/guides/upcoming.md deleted file mode 100644 index e38192e38..000000000 --- a/content/guides/upcoming.md +++ /dev/null @@ -1,11 +0,0 @@ -> **Roadmap is not ready yet**. Please check back later or [subscribe to get notified](/signup). - -While we prepare the roadmap, follow this simple advice to learn anything - -> Just **pick a project and start working on it**, you will learn all that you need along the way. - -**→**   [All Roadmaps](/roadmaps)  •  [Programming guides](/guides)  •  [Subscribe](/signup) - - - - diff --git a/content/guides/what-are-web-vitals.md b/content/guides/what-are-web-vitals.md deleted file mode 100644 index 072dcbc9c..000000000 --- a/content/guides/what-are-web-vitals.md +++ /dev/null @@ -1,2 +0,0 @@ -[![](/guides/web-vitals.png)](/guides/web-vitals.png) - diff --git a/content/guides/what-is-internet.md b/content/guides/what-is-internet.md deleted file mode 100644 index 57cbfd359..000000000 --- a/content/guides/what-is-internet.md +++ /dev/null @@ -1,62 +0,0 @@ -Since the explosive growth of web-based applications, every developer stands to benefit from understanding how the Internet works. Through this article and its accompanying introductory series of short videos about the Internet from [code.org](https://code.org), you will learn the basics of the Internet and how it works. After going through this article, you will be able to answer the following questions: - -* What is the Internet? -* How does the information move on the internet? -* How do the networks talk to each other and the protocols involved? -* What's the relationship between packets, routers, and reliability? -* HTTP and the HTML – How are you viewing this webpage in your browser? -* How is the information transfer on the internet made secure? -* What is cybersecurity and what are some common internet crimes? - -## What is the Internet? - -The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols. - -In the video below, Vint Cerf, one of the "fathers of the internet," explains the history of how the Internet works and how no one person or organization is really in charge of it. - - - - -## Wires, Cables, and Wi-Fi - -Information on the Internet moves from one computer to another in the form of bits over various mediums, including Ethernet cables, fiber optic cables, and wireless signals (i.e., radio waves). - -In the video linked below, you will learn about the different mediums for data transfer on the Internet and the pros and cons for each. - - - -## IP Addresses and DNS - -Now that you know about the physical medium for the data transfer over the internet, it's time to learn about the protocols involved. How does the information traverse from one computer to another in this massive global network of computers? - -In the video below, you will get a brief introduction to IP, DNS, and how these protocols make the Internet work. - - - -## Packets, Routing, and Reliability - -Information transfer on the Internet from one computer to another does not need to follow a fixed path; in fact, it may change paths during the transfer. This information transfer is done in the form of packets and these packets may follow different routes depending on certain factors. - -In this video, you will learn about how the packets of information are routed from one computer to another to reach the destination. - - - -## HTTP and HTML - -HTTP is the standard protocol by which webpages are transferred over the Internet. The video below is a brief introduction to HTTP and how web browsers load websites for you. - - - -## Encryption and Public Keys - -Cryptography is what keeps our communication secure on the Internet. In this short video, you will learn the basics of cryptography, SSL/TLS, and how they help make the communication on the Internet secure. - - - -## Cybersecurity and Crime - -Cybersecurity refers to the protective measures against criminal activity accomplished through using a network, technological devices, and the internet.In this video, you will learn about the basics of cybersecurity and common cybercrimes. - - - -And that wraps it up for this article. To learn more about the Internet, [Kamran Ahmed](https://twitter.com/kamranahmedse) has a nice little guide on [DNS: How a website is found on the Internet](/guides/dns-in-one-picture). Also, go through the episodes of [howdns.works](https://howdns.works/) and read this [cartoon intro to DNS over HTTPS](https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/). diff --git a/content/guides/what-is-sli-slo-sla.md b/content/guides/what-is-sli-slo-sla.md deleted file mode 100644 index dbb762486..000000000 --- a/content/guides/what-is-sli-slo-sla.md +++ /dev/null @@ -1,2 +0,0 @@ -[![](/guides/sli-slo-sla.jpeg)](/guides/sli-slo-sla.jpeg) - diff --git a/content/guides/why-build-it-and-they-will-come-wont-work-anymore.md b/content/guides/why-build-it-and-they-will-come-wont-work-anymore.md deleted file mode 100644 index a6a0517c3..000000000 --- a/content/guides/why-build-it-and-they-will-come-wont-work-anymore.md +++ /dev/null @@ -1,69 +0,0 @@ -We all have heard the mantra *"build it and they will come"* many times. Stories of people building a startup or project and seemingly stumbling upon a goldmine aren't few, but they aren't the rule. These stories are still the exception in the mass of launched projects and startups. - -Before the [Wright brothers](https://en.wikipedia.org/wiki/Wright_brothers) built their Kitty Hawk, people generally believed heavy objects could not fly - physics simply forbade it. The idea of regularly boarding airplanes as we do it these days was unthinkable. It was considered an unrealistic daydream for humans to ever claim the sky. When the first airplanes took off, people were fascinated, of course. It was a topic people continued to talk about for ages. Technology had made something impossible possible. While the wording "build it and they will come" originated from the movie [Field of Dreams](https://en.wikipedia.org/wiki/Field_of_Dreams), this and similar historic events gave birth to the idea behind it. - -The engineers' and inventors' dreams came true: spend time doing what you love while success follows magically. The internet and web-standards democratized access to this dream. But with it, the idea behind it faded and became less and less powerful. In 2020, there are very strong signs the popular saying isn't correct anymore. - - -Why doesn't "build it and they will come" work anymore? -------------------------------------------------------- - -There are a few reasons for working hard to make "build it and they will come" a thing of the past. This being said, it doesn't mean you can't succeed in building a side-project anymore. You've just got to adjust the way you are building it. - -### Building got much easier - -As a software engineer, some websites are a blessing. Most of us couldn't work without GitHub, Stackoverflow and of course Google, ahem, DuckDuckGo. These powerful sites help us to solve problems, learn new techniques and find the right libraries to make building projects easier. If any of these sites are down, most engineers take a break and go for a coffee instead of trying to continue working. Combine this with more sophisticated web-standards and easier access to tooling, and you arrive at a world where building projects isn't just a job for highly specialist developers anymore. Powerful frameworks such as [Laravel](https://laravel.com/) and [Quasar Framework](https://quasar.dev/) are available for anyone to build projects on - for free. - -In fact, building projects got to a point where some people simply build them as an exercise or hobby. If you spend some time browsing GitHub you will be surprised by the open source projects people built without any commercial goals. "Low code" and "No code" are the next wave of people building projects with a less technological background. - -### Too much going on: information overload - -We are living in a world with information overload. In the online sphere, you can find a lot of useful information. But there is also a lot of noise. For each piece of information or advice, you can find a number of opposing statements. This is partly due to the fact that the internet made it much easier to publish and share information. Everyone has been given a voice - for good or bad. This makes it much harder to reach potential users. Your new project probably just drowns amongst kitten videos, opinions, and news. Never has the average lifetime of published content been so low. You've got to come up with a marketing plan before setting out on the journey. - -### Smaller Problems - -Besides building is easier than ever before and attention is in short supply, there is another issue making the life of makers, inventors, and engineers harder: today's problems are much smaller. Back when the previously mentioned Wright Brothers set out, they fascinated people with the problem they were aiming to address: flying. Unless your name is Elon, your problem is unlikely to attract many people naturally. As a solo developer or indie hacker, the chances are higher of having a much smaller problem in a niche (of a niche). With the information overload mentioned before, niches are pretty much the only way to build a side-project or startup and succeed. - -Does sound pretty grim for inventors, developers, and engineers? Well, yes and no. We've got to tweak the approach to get in front of the eye of potential users and customers. - - -How to market your project nowadays? ------------------------------------- - -The very first step to improving the odds of success is [idea validation](https://peterthaleikis.com/business-idea-validation/). While this sounds fairly obvious, many engineers and developers still don't validate their ideas before starting to build the MVP. The result is another stale project and wasted effort. To succeed you need to work on marketing before you start building anything. In the link mentioned before, I describe my approach to validation and collecting useful marketing information at the same time. - -### Build your Audience first and the project after. - -Build your audience before you build your project. Spend your time connecting with potential users, learning from their needs, and talking about their problems. This will help you market your project later on. The audience first, projects second. There are numerous ways to build an audience. One of the simplest and easiest is to start with a personal or [project blog](https://startupnamecheck.com/blog/how-to-start-a-small-business-blog). - -Don't use Medium or a similar service - opt for a self-hosted blog as it allows you to build the blog freely to your needs and have decent links back to your project later on. Don't forget to add a newsletter. Newsletters are a key to reconnecting in our world of short attention spans. - -### Tool by Tool - -Another approach is the "Tool by Tool" approach. I first noticed this approach being used by Shopify. The team at Shopify is providing little tools such as a [logo generator](https://hatchful.shopify.com/) and releasing these tools free for anyone to use. This not just builds goodwill with people; it also allows Shopify to attract powerful backlinks to their projects. As developers, we are in the perfect position to build such mini-tools. It boosts morale and drives attention at the same time. - -Spend some time evaluating where your project or product will deliver value to the end-user. Look at options to split off small, independent tools. Build these and launch them before launching the whole product. This allows you to practice launching and promoting your part-projects at the same time. With each backlink to your part-projects, you will enhance your ranking in Google. An example of a maker following this approach is [Kamban](https://kambanthemaker.com/) with [FlatGA](https://flatga.io/). He built FlatGA as phase one of a bigger project currently in development. - -### Join a Maker community - -While you are building your part-projects, don't forget to discuss the progress publicly. This helps to attract an audience around your work and makes the launches easier. You can use Twitter threads and Reddit posts to share updates. A maker community such as [makerlog](https://getmakerlog.com/) or [WIP.chat](https://wip.chat) can also extend your reach. These allow you to get instant feedback, and keep yourself accountable and they will enhance your reach at the same time. - -### Getting ready to Launch - -Launching seems like this special moment when you release your project into the wide world. Often this moment is combined with high expectations and developers consider launching their project the key - if not only - part of their approach to marketing. While launching can help to attract some initial customers, it shouldn't be your only idea when it comes to marketing. You should also know that launching isn't a single event. You can (and should) launch again and again. Every time you launch you are increasing the chance to reach more new customers. After the launch is before the launch. - -### Marketing Is an On-going Fight - -Many developers plan to launch their product on a few sites and see where it takes their project from there on. This works well if your product goes viral by luck. A much more sustainable approach is constantly working a little on it. Marketing is most effective if done consistently. That holds true for blogging as well as most other forms of marketing. A simple approach to keep you on the path to marketing your project regularly is subscribing to a free [newsletter with small marketing opportunities](https://wheretopost.email). This way, you are regularly reminded and given bite-sized tasks to complete. - - -Closing Words -------------- - -I hope the article helped you to wrap your head around the idea that building side-projects alone doesn't solve any issues anymore. If you like what you've just read and want to read more, please consider subscribing to [my newsletter](https://peterthaleikis.com/newsletter). I'll send out the occasional email about interesting new articles or side-projects. - - -About the author ----------------- - -[Peter Thaleikis](https://peterthaleikis.com/) a software engineer and business owner. He has been developing web applications since around 2000. Before he started his own software development company [Bring Your Own Ideas Ltd.](https://bringyourownideas.com/), he has been a Lead Developer for multiple organizations. diff --git a/content/pages/about.md b/content/pages/about.md deleted file mode 100644 index df417718f..000000000 --- a/content/pages/about.md +++ /dev/null @@ -1,67 +0,0 @@ -## What is roadmap.sh? - -Roadmap.sh is the place containing community curated roadmaps, study plans, paths and resources for the budding -developers. It started as a [set of charts to guide the developers](https://github.com/kamranahmedse/developer-roadmap) -who are confused about what should they learn next but that alone wasn't enough so I expanded it into the website to get -more contributors involved. - -## What are the plans for roadmap.sh? - -The website started off as -a [simple repository containing a few charts](https://github.com/kamranahmedse/developer-roadmap) for developers and -based on my personal opinions but it could have been much more than that so I decided to expand it to a website where -people can contribute to study plans with their areas of expertise as well, add more roadmaps, write guides etc. - -We haven't opened up the sign ups for now but we will be doing. My long term plans for this website are to turn it into -a goto place for the developers to seek guidance about their careers, help others, share their journeys, incentivize the -learnings, get feedbacks on their projects etc. - -## How did you build roadmap.sh? - -The basic version of the website has been built with [Next.js](https://github.com/zeit/next.js/), is opensource and can -be found on [github](https://github.com/kamranahmedse/developer-roadmap). It was hastily done to get it out in front of the -people and get people to start contributing, so it might be rough on the edges, but that is where we need your help. - -## How does it make money? - -It doesn't make any money. I have been using my personal time and budget to build it. I did not create this website with -any intentions of monetization but as a good will, to help the people get out of the frustration that I was once in. - -Having said that, I love teaching and my future plans are to be able to work full-time on roadmap.sh for which it has to -make enough money to pay for my rent, groceries, bills, travel expenses, etc but even if it doesn't it's likely I'll -continue growing the site however I can. My focus at the moment is not making money from it and just adding content that -creates value for the people. - -> Sponsor the efforts by [paying as little as 5$ per month](https://github.com/sponsors/kamranahmedse) or with [one time payment via paypal](https://paypal.me/kamranahmedse). Alternatively, reach out to me at [kamranahmed.se@gmail.com](mailto:kamranahmed.se@gmail.com). - -## Can I contribute? - -You definitely can, infact you are encouraged to do that. Even your minor contributions such as typo fixes count. The -source code of the website can be [found on Github](https://github.com/kamranahmedse/developer-roadmap). Your contributions can -be: - -* Adding a new roadmap -* Updating existing roadmap -* Suggesting changes to the existing roadmaps -* Writing a Guide -* Updating an existing guide -* Fixing grammar mistakes, typos on the website or the content -* Updating the UI of the website -* Refactoring the codebase -* Becoming a sponsor - -Just make sure -to [follow the contribution guidelines](https://github.com/kamranahmedse/developer-roadmap/tree/master/contributing.md) when you -decide to contribute. - -## Can I redistribute the content? - -No, the license of the content on this website does not allow you to redistribute any of the content on this website -anywhere. You can use it for personal use or share the link to the content if you have to but redistribution is not -allowed. - -## What is the best way to contact you? - -Tweet or send me a message [@kamranahmedse](https://twitter.com/kamranahmedse) or email me -at [kamranahmed.se@gmail.com](mailto:kamranahmed.se@gmail.com). I get lots of messages so apologies in advance if you don't hear back -from me soon but I do reply to everyone. diff --git a/content/pages/pdfs.md b/content/pages/pdfs.md deleted file mode 100644 index 5435b0e7e..000000000 --- a/content/pages/pdfs.md +++ /dev/null @@ -1,27 +0,0 @@ -
-
- -# Download Roadmap PDFs - -Here is the list of PDF links for each of the roadmaps. - -* **Frontend Roadmap** - [Roadmap Link](https://roadmap.sh/frontend) / [PDF Link](https://roadmap.sh/pdfs/frontend.pdf) -* **Backend Roadmap** - [Roadmap Link](https://roadmap.sh/backend) / [PDF Link](https://roadmap.sh/pdfs/backend.pdf) -* **DevOps Roadmap** - [Roadmap Link](https://roadmap.sh/devops) / [PDF Link](https://roadmap.sh/pdfs/devops.pdf) -* **Computer Science Roadmap** - [Roadmap Link](https://roadmap.sh/computer-science) / [PDF Link](https://roadmap.sh/pdfs/computer-science.pdf) -* **QA Roadmap** - [Roadmap Link](https://roadmap.sh/qa) / [PDF Link](https://roadmap.sh/pdfs/qa.pdf) -* **ASP.NET Core Roadmap** - [Roadmap Link](https://roadmap.sh/aspnet-core) / [PDF Link](https://roadmap.sh/pdfs/aspnet-core.pdf) -* **Flutter Roadmap** - [Roadmap Link](https://roadmap.sh/flutter) / [PDF Link](https://roadmap.sh/pdfs/flutter.pdf) -* **Software Architect Roadmap** - [Roadmap Link](https://roadmap.sh/software-architect) / [PDF Link](https://roadmap.sh/pdfs/software-architect.pdf) -* **Software Design and Architecture Roadmap** - [Roadmap Link](https://roadmap.sh/software-design-architecture) / [PDF Link](https://roadmap.sh/pdfs/software-design-architecture.pdf) -* **JavaScript Roadmap** - [Roadmap Link](https://roadmap.sh/javascript) / [PDF Link](https://roadmap.sh/pdfs/javascript.pdf) -* **Node.js Roadmap** - [Roadmap Link](https://roadmap.sh/nodejs) / [PDF Link](https://roadmap.sh/pdfs/nodejs.pdf) -* **GraphQL Roadmap** - [Roadmap Link](https://roadmap.sh/graphql) / [PDF Link](https://roadmap.sh/pdfs/graphql.pdf) -* **Angular Roadmap** - [Roadmap Link](https://roadmap.sh/angular) / [PDF Link](https://roadmap.sh/pdfs/angular.pdf) -* **React Roadmap** - [Roadmap Link](https://roadmap.sh/react) / [PDF Link](https://roadmap.sh/pdfs/react.pdf) -* **Vue Roadmap** - [Roadmap Link](https://roadmap.sh/vue) / [PDF Link](https://roadmap.sh/pdfs/vue.pdf) -* **Design System Roadmap** - [Roadmap Link](https://roadmap.sh/design-system) / [PDF Link](https://roadmap.sh/pdfs/design-system.pdf) -* **Blockchain Roadmap** - [Roadmap Link](https://roadmap.sh/blockchain) / [PDF Link](https://roadmap.sh/pdfs/blockchain.pdf) -* **Go Roadmap** - [Roadmap Link](https://roadmap.sh/golang) / [PDF Link](https://roadmap.sh/pdfs/go.pdf) -* **Java Roadmap** - [Roadmap Link](https://roadmap.sh/java) / [PDF Link](https://roadmap.sh/pdfs/java.pdf) -* **Python Roadmap** - [Roadmap Link](https://roadmap.sh/python) / [PDF Link](https://roadmap.sh/pdfs/python.pdf) diff --git a/content/pages/privacy.md b/content/pages/privacy.md deleted file mode 100644 index 003dfc024..000000000 --- a/content/pages/privacy.md +++ /dev/null @@ -1,78 +0,0 @@ -# Privacy Policy - -By using or accessing the Services in any manner, you acknowledge that you accept the practices and policies outlined in this Privacy Policy, and you hereby consent that we will collect, use, and share your information in the following ways. Remember that your use of roadmap.sh’s Services is at all times subject to the [Terms of Use](/terms), which incorporates this Privacy Policy. Any terms we use in this Policy without defining them have the definitions given to them in the Terms of Use. - -## What does this Privacy Policy cover? - -This Privacy Policy covers our treatment of personally identifiable information ("Personal Information") that we gather when you are accessing or using our Services, but not to the practices of companies we don’t own or control, or people that we don’t manage. We gather various types of Personal Information from our users, as explained in more detail below, and we use this Personal Information internally in connection with our Services, including to personalize, provide, and improve our services, to allow you to set up a user account and profile, to contact you and allow other users to contact you, to fulfill your requests for certain products and services, and to analyze how you use the Services. In certain cases, we may also share some Personal Information with third parties, but only as described below. - -As noted in the Terms of Use, we do not knowingly collect or solicit personal information from anyone under the age of 13. If you are under 13, please do not attempt to register for the Services or send any personal information about yourself to us. If we learn that we have collected personal information from a child under age 13, we will delete that information as quickly as possible. If you believe that a child under 13 may have provided us personal information, please contact us at kamranahmed.se@gmail.com. - -## Will roadmap.sh ever change this Privacy Policy? - -We’re constantly trying to improve our Services, so we may need to change this Privacy Policy from time to time as well, but we will alert you to changes by updating the services on the website, placing a notice on the Services, by sending you an email, and/or by some other means. Please note that if you’ve opted not to receive legal notice emails from us (or you haven’t provided us with your email address), those legal notices will still govern your use of the Services, and you are still responsible for reading and understanding them. If you use the Services after any changes to the Privacy Policy have been posted, that means you agree to all of the changes. Use of information we collect now is subject to the Privacy Policy in effect at the time such information is used or collected. - -## What Information does roadmap.sh Collect? - -Information You Provide to Us: - -We receive and store any information you knowingly provide to us. For example, through the registration process and/or through your account settings, we may collect Personal Information such as your name, title, email address, phone number, and third-party account credentials (for example, your log-in credentials for Twitter or other third party sites. If you provide your third-party account credentials to us or otherwise sign in to the Services through a third party site or service, you understand some content and/or information in those accounts (“Third Party Account Information”) may be transmitted into your account with us if you authorize such transmissions], and that Third Party Account Information transmitted to our Services is covered by this Privacy Policy. Certain information may be required to register with us or to take advantage of some of our features. - -We may communicate with you if you’ve provided us the means to do so. For example, if you’ve given us your email address, we may send you promotional email offers on behalf of other businesses, or email you about your use of the Services. Also, we may receive a confirmation when you open an email from us. This confirmation helps us make our communications with you more interesting and improve our services. If you do not want to receive communications from us, please email us at kamranahmed.se@gmail.com. - -## Information Collected Automatically - -Whenever you interact with our Services, we automatically receive and record information on our server logs from your browser or device, which may include your IP address, geolocation data, device identification, “cookie” information, the type of browser and/or device you’re using to access our Services, and the page or feature you requested. “Cookies” are identifiers we transfer to your browser or device that allow us to recognize your browser or device and tell us how and when pages and features in our Services are visited and by how many people. You may be able to change the preferences on your browser or device to prevent or limit your device’s acceptance of cookies, but this may prevent you from taking advantage of some of our features. Our advertising partners may also transmit cookies to your browser or device, when you click on ads that appear on the Services. Also if you click on a link to a third party website or service, such third party may also transmit cookies to you. Again, this Privacy Policy does not cover the use of cookies by any third parties, and we aren’t responsible for their privacy policies and practices. - -When we collect the usage information described above, we only use this data in aggregate form, and not in a manner that would identify you personally. For example, this aggregate data can tell us how often users use a particular feature of the Services, and we can use that knowledge to make the Services interesting to as many users as possible. - -## Will roadmap.sh Share Any of the Personal Information it Receives? - -We may share your Personal Information with third parties as described in this section: - -Information that’s no longer personally identifiable. We may anonymize your Personal Information so that you are not individually identified, and provide that information to our partners. We may also provide aggregate usage information to our partners, who may use such information to understand how often and in what ways people use our Services, so that they, too, can provide you with an optimal online experience. However, we never disclose aggregate information to a partner in a manner that would identify you personally, as an individual. - -Advertisers: We may allow advertisers and/or merchant partners (“Advertisers”) to choose the demographic information of users who will see their advertisements and/or promotional offers and you agree that we may provide any of the information we have collected from you in non-personally identifiable form to an Advertiser, in order for that Advertiser to select the appropriate audience for those advertisements and/or offers. For example, we might use the fact you are located in San Francisco to show you ads or offers for San Francisco businesses, but we will not tell such businesses who you are. Note that if an advertiser asks us to show an ad to a certain audience or audience segment and you respond to that ad, the advertiser may conclude that you fit the description of the audience they were trying to reach. - -We may deliver a file to you through the Services (known as a “web beacon”) from an ad network. Web beacons allow ad networks to provide anonymized, aggregated auditing, research and reporting for us and for advertisers. Web beacons also enable ad networks to serve targeted advertisements to you when you visit other websites. Because your web browser must request these advertisements and web beacons from the ad network’s servers, these companies can view, edit, or set their own cookies, just as if you had requested a web page from their site. You may be able to opt-out of web beacon tracking by adjusting the settings on your browser. - -Affiliated Businesses: In certain situations, businesses or third party websites we’re affiliated with may sell or provide products or services to you through or in connection with the Services (either alone or jointly with us). You can recognize when an affiliated business is associated with such a transaction or service, and we will share your Personal Information with that affiliated business only to the extent that it is related to such transaction or service. One such service may include the ability for you to automatically transmit Third Party Account Information to your Services profile or to automatically transmit information in your Services profile to your third party account; for example, you may sign into your roadmap.sh account using your Twitter account. We have no control over the policies and practices of third party websites or businesses as to privacy or anything else, so if you choose to take part in any transaction or service relating to an affiliated website or business, please review all such business’ or websites’ policies. - -Our Agents: We employ other companies and people to perform tasks on our behalf and need to share your information with them to provide products or services to you. Unless we tell you differently, our agents do not have any right to use the Personal Information we share with them beyond what is necessary to assist us. - -User Profiles and Submissions: Certain user profile information, including your name, location, and any video or image content that such user has uploaded to the Services, may be displayed to other users to facilitate user interaction within the Services or address your request for our services. Please remember that any content you upload to your public user profile, along with any Personal Information or content that you voluntarily disclose online in a manner other users can view (on discussion boards, in messages and chat areas, etc.) becomes publicly available, and can be collected and used by anyone. Your user name may also be displayed to other users if and when you send messages or comments or upload images or videos through the Services and other users can contact you through messages and comments. Additionally, if you sign into the Services through a third party social networking site or service, your list of “friends” from that site or service may be automatically imported to the Services, and such “friends,” if they are also registered users of the Services, may be able to access certain non-public information you have entered in your Services user profile. Again, we do not control the policies and practices of any other third party site or service. - -Business Transfers: We may choose to buy or sell assets. In these types of transactions, customer information is typically one of the business assets that would be transferred. Also, if we (or our assets) are acquired, or if we go out of business, enter bankruptcy, or go through some other change of control, Personal Information could be one of the assets transferred to or acquired by a third party. - -Protection of roadmap.sh and Others: We reserve the right to access, read, preserve, and disclose any information that we reasonably believe is necessary to comply with law or court order; enforce or apply our terms of use and other agreements; or protect the rights, property, or safety of roadmap.sh, our employees, our users, or others. - -## Is Personal Information about me secure? - -Your account is protected by a password for your privacy and security. If you access your account via a third party site or service, you may have additional or different sign-on protections via that third party site or service. You must prevent unauthorized access to your account and Personal Information by selecting and protecting your password and/or other sign-on mechanism appropriately and limiting access to your computer or device and browser by signing off after you have finished accessing your account. We endeavor to protect the privacy of your account and other Personal Information we hold in our records, but unfortunately, we cannot guarantee complete security. Unauthorized entry or use, hardware or software failure, and other factors, may compromise the security of user information at any time. - -## What Personal Information can I access? - -Through your account settings, you may access, and, in some cases, edit or delete the following information you’ve provided to us: - -- first and last name -- location of residence -- age or birthday -- username - -The information you can view, update, and delete may change as the Services change. If you have any questions about viewing or updating information we have on file about you, please contact us at kamranahmed.se@gmail.com. - -Under California Civil Code Sections 1798.83-1798.84, California residents are entitled to ask us for a notice identifying the categories of Personal Information which we share with our affiliates and/or third parties for marketing purposes, and providing contact information for such affiliates and/or third parties. If you are a California resident and would like a copy of this notice, please submit a written request to: kamranahmed.se@gmail.com. - -## What choices do I have? - -You can always opt not to disclose information to us, but keep in mind some information may be needed to register with us or to take advantage of some of our features. - -You may be able to add, update, or delete information as explained above. When you update information, however, we may maintain a copy of the unrevised information in our records. You may request deletion of your account by contacting us at kamranahmed.se@gmail.com and we will disassociate our email address and Twitter account from any content or other information provided to us. Some information may remain in our records after your deletion of such information from your account. We may use any aggregated data derived from or incorporating your Personal Information after you update or delete it, but not in a manner that would identify you personally. - -## What if I have questions about this policy? - -If you have any questions or concerns regarding our privacy policies, please send us a detailed message to kamranahmed.se@gmail.com, and we will try to resolve your concerns. - - - - diff --git a/content/pages/terms.md b/content/pages/terms.md deleted file mode 100644 index 8d3e02932..000000000 --- a/content/pages/terms.md +++ /dev/null @@ -1,125 +0,0 @@ -# Terms of Service - -PLEASE NOTE THAT YOUR USE OF AND ACCESS TO OUR SERVICES (DEFINED BELOW) ARE SUBJECT TO THE FOLLOWING TERMS; IF YOU DO NOT AGREE TO ALL OF THE FOLLOWING, YOU MAY NOT USE OR ACCESS THE SERVICES IN ANY MANNER. - -Welcome to roadmap.sh. Please read on to learn the rules and restrictions that govern your use of our website(s), products, services and applications (the “Services”). If you have any questions, comments, or concerns regarding these terms or the Services, please contact us at kamranahmed.se@gmail.com. - -These Terms of Use (the “Terms”) are a binding contract between you and roadmap.sh (“roadmap.sh,” “we”, and “us”). You must agree to and accept all of the Terms, or you don’t have the right to use the Services. Your using the Services in any way means that you agree to all of these Terms, and these Terms will remain in effect while you use the Services. These Terms include the provisions in this document, as well as those in the Privacy Policy and Copyright Dispute Policy. - -## Will these Terms ever change? - -We are constantly trying to improve our Services, so these Terms may need to change along with the Services. We reserve the right to change the Terms at any time, but if we do, we will bring it to your attention by updating the terms on the roadmap.sh website, by sending you an email, and/or by some other means. - -If you don’t agree with the new Terms, you are free to reject them, however it means you will no longer be able to use the Services. If you use the Services in any way after a change to the Terms is effective, that means you agree to all of the changes. - -Except for changes by us as described here, no other amendment or modification of these Terms will be effective unless in writing and signed by both you and us. - -## Do these terms cover privacy? - -You can view the current roadmap.sh Privacy Policy [here](/privacy). - -The Children’s Online Privacy Protection Act (“COPPA”) requires that online service providers obtain parental consent before they knowingly collect personally identifiable information online from children who are under 13. We do not knowingly collect or solicit personally identifiable information from children under 13. If you are a child under 13, please do not attempt to register for the Services or send any personal information about yourself to us. If we learn we have collected personal information from a child under 13, we will delete that information as quickly as possible. If you believe that a child under 13 may have provided us personal information, please contact us at kamranahmed.se@gmail.com. - -## What are the basics of using roadmap.sh? - -You may be required to sign up for an account, and select a password and username. You agree to provide us with accurate, complete, and up-to-date registration information about yourself. You may not select as your username a name that you don’t have the right to use, or another person’s name with the intent to impersonate that person. You may not transfer your account to anyone else without our prior written permission. - -You represent and warrant that you are an individual of legal age to form a binding contract, or if not, you’ve received your parent’s or guardian’s permission to use the Services and gotten your parent or guardian to agree to these Terms on your behalf. - -You will only use the Services for your own internal, personal, non-commercial use, and not on behalf of or for the benefit of any third party, and only in a manner that complies with all laws that apply to you. If your use of the Services is prohibited by applicable laws, then you aren’t authorized to use the Services. We can’t and won’t be responsible for your using the Services in a way that breaks the law. - -You will not share your account or password with anyone, and you must protect the security of your account and your password. You’re responsible for any activity associated with your account. - -## Your use of the Services is subject to the following additional restrictions: - -You represent, warrant, and agree that you will not contribute any Content or User Submission (each of those terms is defined below) or otherwise use the Services or interact with the Services in a manner that: - -(a) Infringes or violates the intellectual property rights or any other rights of anyone else (including roadmap.sh); (b) Violates any law or regulation, including any applicable export control laws; (c) Is harmful, fraudulent, deceptive, threatening, harassing, defamatory, obscene, or otherwise objectionable; (d) Jeopardizes the security of your roadmap.sh account or anyone else’s (such as allowing someone else to log in to the Services as you); (e) Attempts, in any manner, to obtain the password, account, or other security information from any other user; (f) Violates the security of any computer network, or cracks any passwords or security encryption codes; (g) Runs Maillist, Listserv, any form of auto-responder or “spam” on the Services, or any processes that run or are activated while you are not logged into the Services, or that otherwise interfere with the proper working of the Services (including by placing an unreasonable load on the Services’ infrastructure); (h) “Crawls,” “scrapes,” or “spiders” any page, data, or portion of or relating to the Services or Content (through use of manual or automated means); (i) Copies or stores any significant portion of the Content; (j) Decompiles, reverse engineers, or otherwise attempts to obtain the source code or underlying ideas or information of or relating to the Services. - -A violation of any of the foregoing is grounds for termination of your right to use or access the Services. - -## What are my rights in roadmap.sh? - -The materials displayed or performed or available on or through the Services, including, but not limited to, text, graphics, data, articles, photos, images, illustrations, User Submissions, and so forth (all of the foregoing, the “Content”) are protected by copyright and/or other intellectual property laws. You promise to abide by all copyright notices, trademark rules, information, and restrictions contained in any Content you access through the Services, and you won’t use, copy, reproduce, modify, translate, publish, broadcast, transmit, distribute, perform, upload, display, license, sell or otherwise exploit for any purpose any Content not owned by you, (i) without the prior consent of the owner of that Content or (ii) in a way that violates someone else’s (including roadmap.sh’s) rights. - -You understand that roadmap.sh owns the Services. You won’t modify, publish, transmit, participate in the transfer or sale of, reproduce (except as expressly provided in this Section), create derivative works based on, or otherwise exploit any of the Services. - -The Services may allow you to copy or download certain Content; please remember that just because this functionality exists, doesn’t mean that all the restrictions above don’t apply – they do! - -## Do I have to grant any licenses to roadmap.sh or to other users? - -Anything you post, upload, share, store, or otherwise provide through the Services is your “User Submission.” Some User Submissions are viewable by other users. In order to display your User Submissions on the Services, and to allow other users to enjoy them (where applicable), you grant us certain rights in those User Submissions. Please note that all of the following licenses are subject to our Privacy Policy to the extent they relate to User Submissions that are also your personally-identifiable information. - -For all User Submissions, you hereby grant roadmap.sh a license to translate, modify (for technical purposes, for example making sure your content is viewable on an iPhone as well as a computer) and reproduce and otherwise act with respect to such User Submissions, in each case to enable us to operate the Services, as described in more detail below. This is a license only – your ownership in User Submissions is not affected. - -If you store a User Submission in your own personal roadmap.sh account, in a manner that is not viewable by any other user except you (a “Personal User Submission”), you grant roadmap.sh the license above, as well as a license to display, perform, and distribute your Personal User Submission for the sole purpose of making that Personal User Submission accessible to you and providing the Services necessary to do so. - -If you share a User Submission only in a manner that only certain specified users can view (for example, a private message to one or more other users) (a “Limited Audience User Submission”), then you grant roadmap.sh the licenses above, as well as a license to display, perform, and distribute your Limited Audience User Submission for the sole purpose of making that Limited Audience User Submission accessible to such other specified users, and providing the Services necessary to do so. Also, you grant such other specified users a license to access that Limited Audience User Submission, and to use and exercise all rights in it, as permitted by the functionality of the Services. - -If you share a User Submission publicly on the Services and/or in a manner that more than just you or certain specified users can view, or if you provide us (in a direct email or otherwise) with any feedback, suggestions, improvements, enhancements, and/or feature requests relating to the Services] (each of the foregoing, a “Public User Submission”), then you grant roadmap.sh the licenses above, as well as a license to display, perform, and distribute your Public User Submission for the purpose of making that Public User Submission accessible to all roadmap.sh users and providing the Services necessary to do so, as well as all other rights necessary to use and exercise all rights in that Public User Submission in connection with the Services and/or otherwise in connection with roadmap.sh’s business for any purpose, provided that roadmap.sh will try to notify you if it uses your Public User Submission for any reason other than displaying it on the Services. Also, you grant all other users of the Services a license to access that Public User Submission, and to use and exercise all rights in it, as permitted by the functionality of the Services. - -You agree that the licenses you grant are royalty-free, perpetual, sublicenseable, irrevocable, and worldwide, provided that when you delete your roadmap.sh account, we will stop displaying your User Submissions (other than Public User Submissions, which may remain fully available)] to other users (if applicable), but you understand and agree that it may not be possible to completely delete that content from roadmap.sh’s records, and that your User Submissions may remain viewable elsewhere to the extent that they were copied or stored by other users. - -Finally, you understand and agree that roadmap.sh, in performing the required technical steps to provide the Services to our users (including you), may need to make changes to your User Submissions to conform and adapt those User Submissions to the technical requirements of connection networks, devices, services, or media, and the foregoing licenses include the rights to do so. - -## What if I see something on the Services that infringes my copyright? - -You may have heard of the Digital Millennium Copyright Act (the “DMCA”), as it relates to online service providers, like roadmap.sh, being asked to remove material that allegedly violates someone’s copyright. We respect others’ intellectual property rights, and we reserve the right to delete or disable Content alleged to be infringing, and to terminate the accounts of repeat alleged infringers. - -## Who is responsible for what I see and do on the Services? - -Any information or content publicly posted or privately transmitted through the Services is the sole responsibility of the person from whom such content originated, and you access all such information and content at your own risk, and we aren’t liable for any errors or omissions in that information or content or for any damages or loss you might suffer in connection with it. We cannot control and have no duty to take any action regarding how you may interpret and use the Content or what actions you may take as a result of having been exposed to the Content, and you hereby release us from all liability for you having acquired or not acquired Content through the Services. We can’t guarantee the identity of any users with whom you interact in using the Services and are not responsible for which users gain access to the Services. - -You are responsible for all Content you contribute, in any manner, to the Services, and you represent and warrant you have all rights necessary to do so, in the manner in which you contribute it. You will keep all your registration information accurate and current. You are responsible for all your activity in connection with the Services. - -The Services may contain links or connections to third party websites or services that are not owned or controlled by roadmap.sh. When you access third party websites or use third party services, you accept that there are risks in doing so, and that roadmap.sh is not responsible for such risks. We encourage you to be aware when you leave the Services and to read the terms and conditions and privacy policy of each third party website or service that you visit or utilize. - -roadmap.sh has no control over, and assumes no responsibility for, the content, accuracy, privacy policies, or practices of or opinions expressed in any third party websites or by any third party that you interact with through the Services. In addition, roadmap.sh will not and cannot monitor, verify, censor or edit the content of any third party site or service. By using the Services, you release and hold us harmless from any and all liability arising from your use of any third party website or service. - -Your interactions with organizations and/or individuals found on or through the Services, including payment and delivery of goods or services, and any other terms, conditions, warranties or representations associated with such dealings, are solely between you and such organizations and/or individuals. You should make whatever investigation you feel necessary or appropriate before proceeding with any online or offline transaction with any of these third parties. You agree that roadmap.sh shall not be responsible or liable for any loss or damage of any sort incurred as the result of any such dealings. - -If there is a dispute between participants on this site, or between users and any third party, you agree that roadmap.sh is under no obligation to become involved. In the event that you have a dispute with one or more other users, you release roadmap.sh, its officers, employees, agents, and successors from claims, demands, and damages of every kind or nature, known or unknown, suspected or unsuspected, disclosed or undisclosed, arising out of or in any way related to such disputes and/or our Services. If you are a California resident, you shall and hereby do waive California Civil Code Section 1542, which says: "A general release does not extend to claims which the creditor does not know or suspect to exist in his or her favor at the time of executing the release, which, if known by him or her must have materially affected his or her settlement with the debtor." - -## Will roadmap.sh ever change the Services? - -We’re always trying to improve the Services, so they may change over time. We may suspend or discontinue any part of the Services, or we may introduce new features or impose limits on certain features or restrict access to parts or all of the Services. We’ll try to give you notice when we make a material change to the Services that would adversely affect you, but this isn’t always practical. Similarly, we reserve the right to remove any Content from the Services at any time, for any reason (including, but not limited to, if someone alleges you contributed that Content in violation of these Terms), in our sole discretion, and without notice. - -## Does roadmap.sh cost anything? - -The roadmap.sh Services are currently free, but we reserve the right to charge for certain or all Services in the future. We will notify you before any Services you are then using begin carrying a fee, and if you wish to continue using such Services, you must pay all applicable fees for such Services. - -## What if I want to stop using roadmap.sh? - -You’re free to do that at any time, by contacting us at kamranahmed.se@gmail.com; please refer to our Privacy Policy, as well as the licenses above, to understand how we treat information you provide to us after you have stopped using our Services. roadmap.sh is also free to terminate (or suspend access to) your use of the Services or your account, for any reason in our discretion, including your breach of these Terms. roadmap.sh has the sole right to decide whether you are in violation of any of the restrictions set forth in these Terms. - -Account termination may result in destruction of any Content associated with your account, so keep that in mind before you decide to terminate your account. We will try to provide advance notice to you prior to our terminating your account so that you are able to retrieve any important User Submissions you may have stored in your account (to the extent allowed by law and these Terms), but we may not do so if we determine it would be impractical, illegal, not in the interest of someone’s safety or security, or otherwise harmful to the rights or property of roadmap.sh. - -Provisions that, by their nature, should survive termination of these Terms shall survive termination. By way of example, all of the following will survive termination: any obligation you have to pay us or indemnify us, any limitations on our liability, any terms regarding ownership or intellectual property rights, and terms regarding disputes between us. - -## What if I use roadmap.sh via an app available on the Apple App Store? - -These Terms apply to your use of all the Services, including the iOS applications available via the Apple, Inc. (“Apple”) App Store (the “Application”), but the following additional terms also apply to the Application: - -(a) Both you and roadmap.sh acknowledge that the Terms are concluded between you and roadmap.sh only, and not with Apple, and that Apple is not responsible for the Application or the Content; (b) The Application is licensed to you on a limited, non-exclusive, non-transferrable, non-sublicensable basis, solely to be used in connection with the Services for your private, personal, non-commercial use, subject to all the terms and conditions of these Terms as they are applicable to the Services; (c) You will only use the Application in connection with an Apple device that you own or control; (d) You acknowledge and agree that Apple has no obligation whatsoever to furnish any maintenance and support services with respect to the Application; (e) In the event of any failure of the Application to conform to any applicable warranty, including those implied by law, you may notify Apple of such failure; upon notification, Apple’s sole warranty obligation to you will be to refund to you the purchase price, if any, of the Application; (f) You acknowledge and agree that roadmap.sh, and not Apple, is responsible for addressing any claims you or any third party may have in relation to the Application; (g) You acknowledge and agree that, in the event of any third party claim that the Application or your possession and use of the Application infringes that third party’s intellectual property rights, roadmap.sh, and not Apple, will be responsible for the investigation, defense, settlement and discharge of any such infringement claim; (h) You represent and warrant that you are not located in a country subject to a U.S. Government embargo, or that has been designated by the U.S. Government as a “terrorist supporting” country, and that you are not listed on any U.S. Government list of prohibited or restricted parties; (i) Both you and roadmap.sh acknowledge and agree that, in your use of the Application, you will comply with any applicable third party terms of agreement which may affect or be affected by such use; and (j) Both you and roadmap.sh acknowledge and agree that Apple and Apple’s subsidiaries are third party beneficiaries of these Terms, and that upon your acceptance of these Terms, Apple will have the right (and will be deemed to have accepted the right) to enforce these Terms against you as the third party beneficiary hereof. - - -## What are roadmap.sh's Terms of Sale? - -If you purchase any goods or services or license any software through the site whether or not in connection with an Offer or Discount, in addition to agreeing to these Terms of Use, you are agreeing to the Terms of Sale, available here. - -## What else do I need to know? - -Warranty Disclaimer. Neither roadmap.sh nor its licensors or suppliers makes any representations or warranties concerning any content contained in or accessed through the Services, and we will not be responsible or liable for the accuracy, copyright compliance, legality, or decency of material contained in or accessed through the Services. We (and our licensors and suppliers) make no representations or warranties regarding suggestions or recommendations of services or products offered or purchased through the Services. Products and services purchased or offered (whether or not following such recommendations and suggestions) through the Services are provided “AS IS” and without any warranty of any kind from roadmap.sh or others (unless, with respect to such others only, provided expressly and unambiguously in writing by a designated third party for a specific product). THE SERVICES AND CONTENT ARE PROVIDED BY ROADMAP.SH (AND ITS LICENSORS AND SUPPLIERS) ON AN “AS-IS” BASIS, WITHOUT WARRANTIES OR ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR THAT USE OF THE SERVICES WILL BE UNINTERRUPTED OR ERROR-FREE. SOME STATES DO NOT ALLOW LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU. - -Limitation of Liability. TO THE FULLEST EXTENT ALLOWED BY APPLICABLE LAW, UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE) SHALL ROADMAP.SH (OR ITS LICENSORS OR SUPPLIERS) BE LIABLE TO YOU OR TO ANY OTHER PERSON FOR (A) ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, OR COMPUTER FAILURE OR MALFUNCTION, OR (B) ANY AMOUNT, IN THE AGGREGATE, IN EXCESS OF THE GREATER OF (I) $100 OR (II) THE AMOUNTS PAID BY YOU TO ROADMAP.SH IN CONNECTION WITH THE SERVICES IN THE TWELVE (12) MONTH PERIOD PRECEDING THIS APPLICABLE CLAIM, OR (III) ANY MATTER BEYOND OUR REASONABLE CONTROL. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO THE ABOVE LIMITATION AND EXCLUSIONS MAY NOT APPLY TO YOU. - -Indemnity. To the fullest extent allowed by applicable law, You agree to indemnify and hold roadmap.sh, its affiliates, officers, agents, employees, and partners harmless from and against any and all claims, liabilities, damages (actual and consequential), losses and expenses (including attorneys’ fees) arising from or in any way related to any third party claims relating to (a) your use of the Services (including any actions taken by a third party using your account), and (b) your violation of these Terms. In the event of such a claim, suit, or action (“Claim”), we will attempt to provide notice of the Claim to the contact information we have for your account (provided that failure to deliver such notice shall not eliminate or reduce your indemnification obligations hereunder). - -Assignment. You may not assign, delegate or transfer these Terms or your rights or obligations hereunder, or your Services account, in any way (by operation of law or otherwise) without roadmap.sh’s prior written consent. We may transfer, assign, or delegate these Terms and our rights and obligations without consent. - -Choice of Law; Arbitration. These Terms are governed by and will be construed under the laws of the State of California, without regard to the conflicts of laws provisions thereof. Any dispute arising from or relating to the subject matter of these Terms shall be finally settled in San Francisco County, California, in English, in accordance with the Streamlined Arbitration Rules and Procedures of Judicial Arbitration and Mediation Services, Inc. ("JAMS") then in effect, by one commercial arbitrator with substantial experience in resolving intellectual property and commercial contract disputes, who shall be selected from the appropriate list of JAMS arbitrators in accordance with such Rules. Judgment upon the award rendered by such arbitrator may be entered in any court of competent jurisdiction. Notwithstanding the foregoing obligation to arbitrate disputes, each party shall have the right to pursue injunctive or other equitable relief at any time, from any court of competent jurisdiction. For all purposes of this Agreement, the parties consent to exclusive jurisdiction and venue in the state or federal courts located in, respectively, San Francisco County, California, or the Northern District of California. Any arbitration under this Agreement will take place on an individual basis: class arbitrations and class actions are not permitted. YOU UNDERSTAND AND AGREE THAT BY ENTERING INTO THIS AGREEMENT, YOU AND ROADMAP.SH ARE EACH WAIVING THE RIGHT TO TRIAL BY JURY OR TO PARTICIPATE IN A CLASS ACTION. - -Miscellaneous. You will be responsible for paying, withholding, filing, and reporting all taxes, duties, and other governmental assessments associated with your activity in connection with the Services, provided that roadmap.sh may, in its sole discretion, do any of the foregoing on your behalf or for itself as it sees fit. The failure of either you or us to exercise, in any way, any right herein shall not be deemed a waiver of any further rights hereunder. If any provision of these Terms is found to be unenforceable or invalid, that provision will be limited or eliminated, to the minimum extent necessary, so that these Terms shall otherwise remain in full force and effect and enforceable. You and roadmap.sh agree that these Terms are the complete and exclusive statement of the mutual understanding between you and roadmap.sh, and that it supersedes and cancels all previous written and oral agreements, communications and other understandings relating to the subject matter of these Terms. You hereby acknowledge and agree that you are not an employee, agent, partner, or joint venture of roadmap.sh, and you do not have any authority of any kind to bind roadmap.sh in any respect whatsoever. Except as expressly set forth in the section above regarding the Apple Application, you and roadmap.sh agree there are no third party beneficiaries intended under these Terms. - - - diff --git a/content/roadmaps.json b/content/roadmaps.json deleted file mode 100644 index 18cf5c5a4..000000000 --- a/content/roadmaps.json +++ /dev/null @@ -1,1217 +0,0 @@ -[ - { - "seo": { - "title": "Frontend Developer Roadmap: Learn to become a modern frontend developer", - "description": "Learn to become a modern frontend developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern frontend development.", - "keywords": [ - "javascript roadmap 2023", - "frontend roadmap 2023", - "frontend developer roadmap 2023", - "guide to becoming a developer", - "guide to becoming a frontend developer", - "frontend developer", - "frontend engineer", - "frontend skills", - "frontend development", - "javascript developer", - "frontend development skills", - "frontend development skills test", - "frontend roadmap", - "frontend engineer roadmap", - "frontend developer roadmap", - "become a frontend developer", - "frontend developer career path", - "javascript developer", - "modern javascript developer", - "node developer", - "skills for frontend development", - "learn frontend development", - "what is frontend development", - "frontend developer quiz", - "frontend developer interview questions" - ] - }, - "title": "Frontend Developer", - "description": "Step by step guide to becoming a modern frontend developer in 2023", - "featuredTitle": "Frontend", - "featuredDescription": "Step by step guide to becoming a frontend developer in 2023", - "type": "role", - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "featured": true, - "imageUrl": "/roadmaps/frontend.png", - "jsonUrl": "/project/frontend.json", - "resourcesPath": "/roadmaps/100-frontend/resources.md", - "pdfUrl": "/pdfs/frontend.pdf", - "contentPathsFilePath": "/roadmaps/100-frontend/content-paths.json", - "relatedRoadmaps": [ - "javascript", - "nodejs", - "react", - "angular", - "vue", - "design-system" - ], - "id": "frontend", - "metaPath": "/roadmaps/100-frontend/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Backend Developer Roadmap: Learn to become a modern backend developer", - "description": "Learn to become a modern backend developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern backend development.", - "keywords": [ - "backend roadmap 2023", - "backend developer roadmap 2023", - "guide to becoming a developer", - "guide to becoming a backend developer", - "backend roadmap", - "backend developer", - "backend engineer", - "backend skills", - "backend development", - "javascript developer", - "backend development skills", - "backend development skills test", - "backend engineer roadmap", - "backend developer roadmap", - "become a backend developer", - "backend developer career path", - "javascript developer", - "modern javascript developer", - "node developer", - "skills for backend development", - "learn backend development", - "what is backend development", - "backend developer quiz", - "backend developer interview questions" - ] - }, - "title": "Backend Developer", - "description": "Step by step guide to becoming a modern backend developer in 2023", - "type": "role", - "featuredTitle": "Backend", - "featuredDescription": "Step by step guide to becoming a backend developer in 2023", - "featured": true, - "imageUrl": "/roadmaps/backend.png", - "jsonUrl": "/project/backend.json", - "resourcesPath": "/roadmaps/101-backend/resources.md", - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/backend.pdf", - "contentPathsFilePath": "/roadmaps/101-backend/content-paths.json", - "relatedRoadmaps": [ - "python", - "java", - "golang", - "devops", - "javascript", - "nodejs", - "postgresql-dba" - ], - "id": "backend", - "metaPath": "/roadmaps/101-backend/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "DevOps Roadmap: Learn to become a DevOps Engineer or SRE", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "devops roadmap 2023", - "sre roadmap 2023", - "operations roadmap 2023", - "guide to becoming a devops engineer", - "devops roadmap", - "sre roadmap", - "site reliability engineer roadmap", - "operations roles", - "become devops", - "devops skills", - "modern devops skills", - "devops skills test", - "skills for devops", - "learn devops", - "what is devops", - "what is sre", - "devops quiz", - "devops interview questions" - ] - }, - "title": "DevOps Roadmap", - "description": "Step by step guide for DevOps, SRE or any other Operations Role in 2023", - "featuredTitle": "DevOps", - "type": "role", - "featuredDescription": "Step by step guide for DevOps or operations role in 2023", - "featured": true, - "imageUrl": "/roadmaps/devops.png", - "jsonUrl": "/project/devops.json", - "resourcesPath": "/roadmaps/102-devops/resources.md", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/devops.pdf", - "contentPathsFilePath": "/roadmaps/102-devops/content-paths.json", - "relatedRoadmaps": [ - "backend", - "python", - "java", - "golang", - "javascript", - "nodejs" - ], - "id": "devops", - "metaPath": "/roadmaps/102-devops/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Computer Science Roadmap: Curriculum for the self taught developer", - "description": "Computer Science study plan with free resources for the self-taught and bootcamp grads wanting to learn Computer Science.", - "keywords": [ - "computer science roadmap", - "computer science", - "computer science roadmap 2023", - "guide to computer science", - "software engineer roadmap", - "software engineer roadmap 2023", - "self-taught computer science roadmap", - "computer science skills", - "computer science skills test", - "cs roadmap", - "computer science curriculum", - "cs curriculum", - "skills for computer science", - "what is computer science", - "computer science quiz", - "computer science interview questions" - ] - }, - "title": "Computer Science", - "description": "Computer Science curriculum with free resources for a self-taught developer.", - "featuredTitle": "Computer Science", - "type": "tool", - "featuredDescription": "Curriculum with free resources for a self-taught developer.", - "isTextHeavy": false, - "isNew": true, - "isCommunity": false, - "featured": true, - "jsonUrl": "/project/computer-science.json", - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/computer-science.pdf", - "relatedRoadmaps": [ - "frontend", - "backend", - "devops", - "software-design-architecture" - ], - "contentPathsFilePath": "/roadmaps/103-computer-science/content-paths.json", - "id": "computer-science", - "metaPath": "/roadmaps/103-computer-science/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "React Developer Roadmap: Learn to become a React developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for react development. Learn to become a modern React developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "react roadmap 2023", - "react developer roadmap 2023", - "guide to becoming a react developer", - "react developer roadmap", - "react roadmap", - "become react developer", - "react developer skills", - "react skills test", - "skills for react development", - "learn react development", - "what is react", - "react quiz", - "react interview questions" - ] - }, - "title": "React Developer", - "description": "Everything that is there to learn about React and the ecosystem in 2023.", - "featuredTitle": "React", - "type": "tool", - "featuredDescription": "Step by step guide to become a React Developer in 2023", - "isTextHeavy": false, - "isCommunity": false, - "featured": true, - "jsonUrl": "/project/react.json", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/react.pdf", - "contentPathsFilePath": "/roadmaps/103-react/content-paths.json", - "relatedRoadmaps": [ - "frontend", - "javascript", - "angular", - "vue", - "nodejs", - "design-system" - ], - "id": "react", - "metaPath": "/roadmaps/103-react/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Angular Developer Roadmap: Learn to become a Angular developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for angular development. Learn to become a modern Angular developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming a angular developer", - "angular developer roadmap", - "angular roadmap", - "become angular developer", - "angular developer skills", - "angular skills test", - "skills for angular development", - "learn angular development", - "what is angular", - "angular quiz", - "angular interview questions" - ] - }, - "title": "Angular Developer", - "description": "Everything that is there to learn about Angular and the ecosystem in 2023.", - "featuredTitle": "Angular", - "type": "tool", - "featuredDescription": "Step by step guide to become a Angular Developer in 2023", - "isTextHeavy": false, - "isCommunity": false, - "featured": true, - "jsonUrl": "/project/angular.json", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/angular.pdf", - "relatedRoadmaps": [ - "frontend", - "javascript", - "react", - "vue", - "nodejs" - ], - "contentPathsFilePath": "/roadmaps/104-angular/content-paths.json", - "id": "angular", - "metaPath": "/roadmaps/104-angular/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Vue Developer Roadmap: Learn to become a Vue developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for vue development. Learn to become a modern Vue developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming a vue developer", - "guide to becoming a vue.js developer", - "vue developer roadmap", - "vue.js developer roadmap", - "vue roadmap", - "vue.js roadmap", - "become vue developer", - "become vue.js developer", - "vue developer skills", - "vue.js developer skills", - "vue skills test", - "vue.js skills test", - "skills for vue development", - "skills for vue.js development", - "learn vue development", - "learn vue.js development", - "what is vue", - "what is vue.js", - "vue quiz", - "vue.js quiz", - "vue interview questions", - "vue.js interview questions" - ] - }, - "title": "Vue Developer", - "description": "Everything that is there to learn about Vue and the ecosystem in 2023.", - "featuredTitle": "Vue", - "type": "tool", - "featuredDescription": "Step by step guide to become a Vue Developer in 2023", - "isTextHeavy": false, - "isCommunity": false, - "isNew": true, - "featured": true, - "jsonUrl": "/project/vue.json", - "resourcesPath": "/roadmaps/105-vue/resources.md", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/vue.pdf", - "contentPathsFilePath": "/roadmaps/105-vue/content-paths.json", - "relatedRoadmaps": [ - "frontend", - "javascript", - "react", - "angular", - "nodejs" - ], - "id": "vue", - "metaPath": "/roadmaps/105-vue/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "JavaScript Developer Roadmap: Step by step guide to learn JavaScript", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for javascript development. Learn to become a modern JavaScript developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "javascript guide 2023", - "learn javascript", - "step by step javascript guide", - "javascript roadmap 2023", - "javascript developer roadmap 2023", - "guide to becoming a javascript developer", - "javascript developer roadmap", - "javascript roadmap", - "become javascript developer", - "javascript developer skills", - "javascript skills test", - "skills for javascript development", - "learn javascript development", - "what is javascript", - "javascript quiz", - "javascript interview questions" - ] - }, - "title": "JavaScript Roadmap", - "description": "Step by step guide to learn JavaScript in 2023", - "featuredTitle": "JavaScript", - "type": "tool", - "featuredDescription": "Step by step guide to learn JavaScript in 2023", - "isTextHeavy": false, - "isCommunity": false, - "isNew": true, - "featured": true, - "jsonUrl": "/project/javascript.json", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/javascript.pdf", - "contentPathsFilePath": "/roadmaps/106-javascript/content-paths.json", - "relatedRoadmaps": [ - "frontend", - "backend", - "javascript", - "react", - "angular", - "vue", - "nodejs" - ], - "id": "javascript", - "metaPath": "/roadmaps/106-javascript/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Android Developer Roadmap: Learn to become an Android developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for android development. Learn to become a modern Android developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming an android developer", - "android developer roadmap", - "android roadmap", - "become android developer", - "android developer skills", - "android skills test", - "skills for android development", - "learn android development", - "what is android", - "android quiz", - "android interview questions" - ] - }, - "title": "Android Developer", - "description": "Step by step guide to becoming an Android developer in 2023", - "featuredTitle": "Android", - "type": "role", - "featuredDescription": "Step by step guide to becoming an Android Developer in 2023", - "isTextHeavy": true, - "isCommunity": false, - "featured": true, - "jsonUrl": "/project/android.json", - "landingPath": "/roadmaps/107-android/landscape.md", - "resourcesPath": "/roadmaps/107-android/resources.md", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "relatedRoadmaps": [ - "frontend", - "javascript", - "react", - "nodejs" - ], - "id": "android", - "metaPath": "/roadmaps/107-android/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Node.js Developer Roadmap: Learn to become a modern node.js developer", - "description": "Learn to become a modern node.js developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern node.js development.", - "keywords": [ - "node.js roadmap 2023", - "nodejs roadmap 2023", - "node.js roadmap 2023", - "nodejs roadmap 2023", - "node.js developer roadmap 2023", - "nodejs developer roadmap 2023", - "guide to becoming a developer", - "guide to becoming a node.js developer", - "guid to becoming a node.js developer", - "node.js developer", - "nodejs developer", - "node.js engineer", - "nodejs engineer", - "node.js skills", - "nodejs skills", - "node.js development", - "nodejs development", - "node.js developer", - "nodejs developer", - "node.js development skills", - "nodejs development skills", - "node.js development skills test", - "nodejs development skills test", - "node.js roadmap", - "nodejs roadmap", - "node.js engineer roadmap", - "nodejs engineer roadmap", - "node.js developer roadmap", - "nodejs developer roadmap", - "become a node.js developer", - "become a node.js developer", - "node.js developer career path", - "nodejs developer career path", - "node.js developer", - "nodejs developer", - "modern node.js developer", - "modern node.js developer", - "node developer", - "skills for node.js development", - "skills for nodejs development", - "learn node.js development", - "lear node.js development", - "node.js developer quiz", - "nodejs developer quiz", - "node.js developer interview questions", - "nodejs developer interview questions" - ] - }, - "title": "Node.js Developer", - "description": "Step by step guide to becoming a modern Node.js developer in 2023", - "featuredTitle": "Node.js", - "featuredDescription": "Step by step guide to becoming a Node.js developer in 2023", - "type": "tool", - "isNew": true, - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "featured": true, - "imageUrl": "/roadmaps/nodejs.png", - "jsonUrl": "/project/nodejs.json", - "pdfUrl": "/pdfs/nodejs.pdf", - "contentPathsFilePath": "/roadmaps/107-nodejs/content-paths.json", - "relatedRoadmaps": [ - "frontend", - "backend", - "javascript", - "react", - "angular", - "vue" - ], - "id": "nodejs", - "metaPath": "/roadmaps/107-nodejs/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Learn to become a modern Python developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for python development. Learn to become a modern Python developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming an python developer", - "python developer roadmap", - "python roadmap", - "become python developer", - "python developer skills", - "python skills test", - "skills for python development", - "learn python development", - "what is python", - "python quiz", - "python interview questions" - ] - }, - "title": "Python Developer", - "description": "Step by step guide to becoming a Python developer in 2023", - "featuredTitle": "Python", - "type": "tool", - "featuredDescription": "Step by step guide to becoming a Python Developer in 2023", - "isTextHeavy": true, - "isCommunity": false, - "featured": true, - "jsonUrl": "/project/python.json", - "resourcesPath": "/roadmaps/108-python/resources.md", - "pdfUrl": "/pdfs/python.pdf", - "versions": [ - "latest" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "contentPathsFilePath": "/roadmaps/108-python/content-paths.json", - "relatedRoadmaps": [ - "backend", - "devops", - "golang", - "java", - "javascript", - "nodejs" - ], - "id": "python", - "metaPath": "/roadmaps/108-python/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Learn to become a Go developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for Go development. Learn to become a modern Go developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming a golang developer", - "guide to becoming a go developer", - "golang developer", - "go developer", - "guide to golang", - "guide to go", - "golang roadmap", - "go roadmap", - "golang skills", - "go skills", - "golang skills test", - "go skills test", - "skills for golang", - "skills for go", - "cloud development", - "what is golang", - "what is go", - "golang quiz", - "go quiz", - "golang interview questions", - "go interview questions" - ] - }, - "title": "Go Developer", - "description": "Step by step guide to becoming a Go developer in 2023", - "featuredTitle": "Go", - "type": "tool", - "featuredDescription": "Step by step guide to becoming a Go developer in 2023", - "isTextHeavy": false, - "isCommunity": false, - "isUpcoming": false, - "featured": true, - "jsonUrl": "/project/golang.json", - "resourcesPath": "/roadmaps/109-golang/resources.md", - "pdfUrl": "/pdfs/go.pdf", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "contentPathsFilePath": "/roadmaps/109-golang/content-paths.json", - "relatedRoadmaps": [ - "backend", - "devops", - "python", - "java", - "javascript", - "nodejs" - ], - "id": "golang", - "metaPath": "/roadmaps/109-golang/meta.json" - }, - { - "seo": { - "title": "Learn to become a modern Java developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for java development. Learn to become a modern Java developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming a developer", - "guide to becoming a java developer", - "java developer", - "java engineer", - "java skills", - "guide to java", - "java roadmap", - "java skills", - "java skills test", - "skills for java", - "cloud development", - "what is java", - "java quiz", - "java interview questions", - "java engineer roadmap", - "java developer roadmap", - "become a java developer", - "java developer career path", - "java developer", - "modern java developer" - ] - }, - "title": "Java Developer", - "description": "Step by step guide to becoming a Java developer in 2023", - "featuredTitle": "Java", - "type": "tool", - "featuredDescription": "Step by step guide to becoming a Java Developer in 2023", - "isTextHeavy": false, - "isCommunity": false, - "isUpcoming": false, - "featured": true, - "jsonUrl": "/project/java.json", - "resourcesPath": "/roadmaps/110-java/resources.md", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/java.pdf", - "contentPathsFilePath": "/roadmaps/110-java/content-paths.json", - "relatedRoadmaps": [ - "backend", - "devops", - "python", - "golang", - "javascript", - "nodejs" - ], - "id": "java", - "metaPath": "/roadmaps/110-java/meta.json" - }, - { - "seo": { - "title": "How to Create a Design System", - "description": "Learn how to create a design system or become a design system engineer with this step by step guide with resources.", - "keywords": [ - "guide to create a design system", - "guide to becoming a design system engineer", - "design system engineer", - "design system engineer", - "design system skills", - "guide to design system", - "design system roadmap", - "design system skills", - "design system skills test", - "skills for design system", - "what is design system", - "design system quiz", - "design system interview questions", - "design system engineer roadmap", - "design system engineer roadmap", - "become a design system engineer", - "design system engineer career path", - "design system engineer", - "modern design system engineer" - ] - }, - "title": "Design System", - "description": "Learn how to create a design system with this step by step guide", - "featuredTitle": "Design System", - "type": "tool", - "featuredDescription": "Step by step guide to building a modern Design System", - "isTextHeavy": false, - "isCommunity": false, - "isNew": true, - "isUpcoming": false, - "featured": true, - "jsonUrl": "/project/design-system.json", - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/design-system.pdf", - "contentPathsFilePath": "/roadmaps/111-design-system/content-paths.json", - "relatedRoadmaps": [ - "frontend", - "javascript", - "react", - "vue", - "angular", - "nodejs" - ], - "id": "design-system", - "metaPath": "/roadmaps/111-design-system/meta.json" - }, - { - "seo": { - "title": "DBA Roadmap: Learn to become a database administrator with PostgreSQL", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming a database administrator", - "guide to becoming a DBA", - "dba roadmap", - "db administrator roadmap", - "database administrator roadmap", - "postgresql roadmap", - "dba skills", - "db administrator skills", - "become dba", - "postgresql skills", - "modern dba skills", - "dba skills test", - "skills for dba", - "skills for database administrator", - "learn dba", - "what is dba", - "database administrator quiz", - "dba interview questions" - ] - }, - "title": "PostgreSQL DBA", - "description": "Step by step guide to becoming a modern PostgreSQL DB Administrator in 2023", - "featuredTitle": "DBA", - "type": "role", - "featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2023", - "landingPath": "/roadmaps/111-postgresql-dba/landscape.md", - "resourcesPath": "/roadmaps/111-postgresql-dba/resources.md", - "author": { - "name": "Alexey Lesovsky", - "url": "https://github.com/lesovsky" - }, - "isCommunity": false, - "isTextHeavy": true, - "featured": true, - "detailed": false, - "versions": [], - "relatedRoadmaps": [ - "backend", - "devops" - ], - "id": "postgresql-dba", - "metaPath": "/roadmaps/111-postgresql-dba/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Blockchain Developer Roadmap: Learn to become a blockchain developer", - "description": "Learn to become a blockchain developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern backend development.", - "keywords": [ - "blockchain roadmap 2023", - "web3 developer roadmap", - "web3 developer roadmap 2023", - "web3 roadmap", - "blockchain developer roadmap 2023", - "guide to becoming a blockchain developer", - "guide to becoming a blockchain developer", - "blockchain roadmap", - "blockchain developer", - "blockchain engineer", - "blockchain skills", - "blockchain development", - "javascript developer", - "blockchain development skills", - "blockchain development skills test", - "blockchain engineer roadmap", - "blockchain developer roadmap", - "become a blockchain developer", - "blockchain developer career path", - "javascript developer", - "modern javascript developer", - "node developer", - "skills for blockchain development", - "learn blockchain development", - "what is blockchain development", - "blockchain developer quiz", - "blockchain developer interview questions" - ] - }, - "title": "Blockchain Developer", - "description": "Step by step guide to becoming a blockchain developer in 2023.", - "featuredTitle": "Blockchain", - "featuredDescription": "Step by step guide to becoming a blockchain developer in 2023", - "featured": true, - "type": "role", - "isNew": true, - "imageUrl": "/roadmaps/blockchain.png", - "jsonUrl": "/project/blockchain.json", - "author": { - "name": "Daniel Gruesso", - "url": "https://twitter.com/danielgruesso" - }, - "pdfUrl": "/pdfs/blockchain.pdf", - "contentPathsFilePath": "/roadmaps/112-blockchain/content-paths.json", - "relatedRoadmaps": [ - "frontend", - "backend", - "javascript", - "nodejs", - "react", - "vue", - "angular" - ], - "id": "blockchain", - "metaPath": "/roadmaps/112-blockchain/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "QA Roadmap: Learn to become a modern QA engineer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for modern QA development. Learn to become a modern QA engineer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming a QA engineer", - "QA engineer", - "QA skills", - "QA development skills", - "QA development skills test", - "QA engineer roadmap", - "become a QA engineer", - "QA engineer career path", - "skills for QA development", - "what is QA engineer", - "QA engineer quiz", - "QA engineer interview questions" - ] - }, - "title": "QA Engineer", - "description": "Steps to follow in order to become a modern QA Engineer in 2023", - "featuredTitle": "QA", - "type": "role", - "featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2023", - "featured": true, - "isNew": true, - "resourcesPath": "/roadmaps/113-qa/resources.md", - "imageUrl": "/roadmaps/qa.png", - "jsonUrl": "/project/qa.json", - "pdfUrl": "/pdfs/qa.pdf", - "author": { - "name": "Anas Fitiani", - "url": "https://github.com/anas-qa" - }, - "contentPathsFilePath": "/roadmaps/113-qa/content-paths.json", - "relatedRoadmaps": [ - "frontend", - "backend", - "devops", - "javascript", - "nodejs" - ], - "id": "qa", - "metaPath": "/roadmaps/113-qa/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Software Architect Roadmap: Learn to become a modern Software Architect", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "solution architect roadmap", - "enterprise architect roadmap", - "guide to becoming a software architect", - "guide to becoming a Software Architect", - "software architect roadmap", - "db administrator roadmap", - "software architect roadmap", - "software architect skills", - "db administrator skills", - "become software architect", - "modern software architect skills", - "software architect skills test", - "skills for software architect", - "skills for software architect", - "learn software architect", - "what is software architect", - "software architect quiz", - "software architect interview questions" - ] - }, - "title": "Software Architect", - "description": "Step by step guide to becoming a Software Architect in 2023", - "featuredTitle": "Software Architect", - "isNew": true, - "type": "role", - "jsonUrl": "/project/software-architect.json", - "featuredDescription": "Step by step guide to become a Software Architect in 2023", - "isCommunity": false, - "featured": true, - "detailed": false, - "versions": [], - "relatedRoadmaps": [ - "backend", - "software-design-architecture", - "python", - "python", - "nodejs", - "golang", - "java", - "devops" - ], - "contentPathsFilePath": "/roadmaps/114-software-architect/content-paths.json", - "id": "software-architect", - "metaPath": "/roadmaps/114-software-architect/meta.json", - "isUpcoming": false - }, - { - "seo": { - "title": "Software Design and Architecture Roadmap", - "description": "Learn software design and architecture with this step by step guide and resources.", - "keywords": [ - "guide to learn software design and architecture", - "software design roadmap", - "software architecture roadmap", - "software design and architecture roadmap", - "modern software design and architecture roadmap", - "fullstack software design and architecture roadmap", - "design and architecture roadmap", - "scalable design roadmap", - "software design patterns roadmap", - "software architecture patterns roadmap", - "design architecture patterns roadmap", - "application architectures", - "software architecture guide" - ] - }, - "title": "Software Design and Architecture", - "description": "Step by step guide to learn software design and architecture", - "featuredTitle": "Software Design and Architecture", - "type": "tool", - "featuredDescription": "Guide to learn software design and architecture", - "isTextHeavy": false, - "isCommunity": false, - "isNew": true, - "isUpcoming": false, - "featured": true, - "jsonUrl": "/project/software-design-architecture.json", - "author": { - "name": "Kamran Ahmed", - "url": "https://twitter.com/kamranahmedse" - }, - "pdfUrl": "/pdfs/software-design-architecture.pdf", - "relatedRoadmaps": [ - "backend", - "software-architect", - "devops", - "python", - "java", - "nodejs", - "golang" - ], - "id": "software-design-architecture", - "metaPath": "/roadmaps/115-software-design-architecture/meta.json" - }, - { - "seo": { - "title": "Learn to become a modern ASP.NET core developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for asp.net core development. Learn to become a modern ASP.NET core developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming a developer", - "guide to becoming an asp.net core developer", - "asp.net core developer", - "asp.net core engineer", - "asp.net core skills", - "guide to asp.net core", - "asp.net developer roadmap", - "asp net developer roadmap", - "asp developer roadmap", - "asp.net core roadmap", - "asp.net core skills", - "asp.net core skills test", - "skills for asp.net core", - "cloud development", - "what is asp.net core", - "asp.net core quiz", - "asp.net core interview questions", - "asp.net core engineer roadmap", - "asp.net core developer roadmap", - "become an asp.net core developer", - "asp.net core developer career path", - "asp.net core developer", - "modern asp.net core developer" - ] - }, - "title": "ASP.NET Core Developer", - "description": "Step by step guide to becoming an ASP.NET core developer in 2023", - "featuredTitle": "ASP.NET Core", - "type": "role", - "featuredDescription": "Step by step guide to becoming an ASP.NET Core Developer in 2023", - "isTextHeavy": false, - "isCommunity": false, - "isUpcoming": false, - "featured": true, - "isNew": true, - "jsonUrl": "/project/aspnet-core.json", - "versions": [ - "latest", - "2018", - "2017" - ], - "author": { - "name": "Moien Tajik", - "url": "https://twitter.com/MoienTajik" - }, - "pdfUrl": "/pdfs/aspnet-core.pdf", - "relatedRoadmaps": [ - "backend", - "devops", - "python", - "golang", - "java", - "nodejs" - ], - "contentPathsFilePath": "/roadmaps/116-aspnet-core/content-paths.json", - "id": "aspnet-core", - "metaPath": "/roadmaps/116-aspnet-core/meta.json" - }, - { - "seo": { - "title": "GraphQL Roadmap", - "description": "Learn GraphQL with this step by step guide and resources.", - "keywords": [ - "guide to learn graphql", - "graphql roadmap", - "graphql roadmap", - "modern graphql roadmap", - "fullstack graphql roadmap", - "design and architecture roadmap", - "scalable design roadmap", - "design architecture patterns roadmap", - "application architectures" - ] - }, - "title": "GraphQL", - "description": "Step by step guide to learn GraphQL in 2023", - "featuredTitle": "GraphQL", - "type": "tool", - "featuredDescription": "Step by Step guide to learn GraphQL in 2023", - "isTextHeavy": false, - "isCommunity": false, - "isNew": true, - "isUpcoming": false, - "featured": true, - "jsonUrl": "/project/graphql.json", - "author": { - "name": "Denis Badurina", - "url": "https://twitter.com/enisdenjo" - }, - "pdfUrl": "/pdfs/graphql.pdf", - "relatedRoadmaps": [ - "frontend", - "backend", - "nodejs", - "javascript", - "react", - "vue", - "angular" - ], - "contentPathsFilePath": "/roadmaps/116-graphql/content-paths.json", - "id": "graphql", - "metaPath": "/roadmaps/116-graphql/meta.json" - }, - { - "seo": { - "title": "Learn to become a modern Flutter developer", - "description": "Community driven, articles, resources, guides, interview questions, quizzes for flutter development. Learn to become a modern Flutter developer by following the steps, skills, resources and guides listed in this roadmap.", - "keywords": [ - "guide to becoming a flutter developer", - "guide to becoming a flutter developer", - "flutter developer", - "flutter engineer", - "flutter skills", - "guide to flutter", - "flutter roadmap", - "flutter skills", - "flutter skills test", - "skills for flutter", - "what is flutter", - "flutter quiz", - "flutter interview questions", - "flutter engineer roadmap", - "flutter developer roadmap", - "become a flutter developer", - "flutter developer career path", - "flutter developer", - "modern flutter developer" - ] - }, - "title": "Flutter Developer", - "description": "Step by step guide to becoming a Flutter developer in 2023", - "featuredTitle": "Flutter", - "type": "role", - "featuredDescription": "Step by step guide to becoming a Flutter Developer in 2023", - "isTextHeavy": false, - "isCommunity": false, - "isUpcoming": false, - "featured": true, - "isNew": true, - "jsonUrl": "/project/flutter.json", - "versions": [ - "latest", - "2018", - "2017" - ], - "pdfUrl": "/pdfs/flutter.pdf", - "relatedRoadmaps": [ - "backend", - "devops", - "python", - "golang", - "java", - "nodejs" - ], - "contentPathsFilePath": "/roadmaps/117-flutter/content-paths.json", - "id": "flutter", - "metaPath": "/roadmaps/117-flutter/meta.json" - } -] \ No newline at end of file diff --git a/content/roadmaps/100-frontend/content-paths.json b/content/roadmaps/100-frontend/content-paths.json deleted file mode 100644 index 08f01cdb2..000000000 --- a/content/roadmaps/100-frontend/content-paths.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "home": "/roadmaps/100-frontend/content/readme.md", - "internet": "/roadmaps/100-frontend/content/100-internet/readme.md", - "internet:how-does-the-internet-work": "/roadmaps/100-frontend/content/100-internet/100-how-does-the-internet-work.md", - "internet:what-is-http": "/roadmaps/100-frontend/content/100-internet/101-what-is-http.md", - "internet:browsers-and-how-they-work": "/roadmaps/100-frontend/content/100-internet/102-browsers-and-how-they-work.md", - "internet:dns-and-how-it-works": "/roadmaps/100-frontend/content/100-internet/103-dns-and-how-it-works.md", - "internet:what-is-domain-name": "/roadmaps/100-frontend/content/100-internet/104-what-is-domain-name.md", - "internet:what-is-hosting": "/roadmaps/100-frontend/content/100-internet/105-what-is-hosting.md", - "html": "/roadmaps/100-frontend/content/101-html/readme.md", - "html:learn-the-basics": "/roadmaps/100-frontend/content/101-html/100-learn-the-basics.md", - "html:writing-semantic-html": "/roadmaps/100-frontend/content/101-html/101-writing-semantic-html.md", - "html:forms-and-validations": "/roadmaps/100-frontend/content/101-html/102-forms-and-validations.md", - "html:conventions-and-best-practices": "/roadmaps/100-frontend/content/101-html/103-conventions-and-best-practices.md", - "html:accessibility": "/roadmaps/100-frontend/content/101-html/104-accessibility.md", - "html:seo-basics": "/roadmaps/100-frontend/content/101-html/105-seo-basics.md", - "css": "/roadmaps/100-frontend/content/102-css/readme.md", - "css:learn-the-basics": "/roadmaps/100-frontend/content/102-css/100-learn-the-basics.md", - "css:making-layouts": "/roadmaps/100-frontend/content/102-css/101-making-layouts.md", - "css:responsive-design-and-media-queries": "/roadmaps/100-frontend/content/102-css/102-responsive-design-and-media-queries.md", - "javascript": "/roadmaps/100-frontend/content/103-javascript/readme.md", - "javascript:syntax-and-basic-constructs": "/roadmaps/100-frontend/content/103-javascript/100-syntax-and-basic-constructs.md", - "javascript:learn-dom-manipulation": "/roadmaps/100-frontend/content/103-javascript/101-learn-dom-manipulation.md", - "javascript:learn-fetch-api-ajax-xhr": "/roadmaps/100-frontend/content/103-javascript/102-learn-fetch-api-ajax-xhr.md", - "javascript:es6-and-modular-javascript": "/roadmaps/100-frontend/content/103-javascript/103-es6-and-modular-javascript.md", - "javascript:concepts": "/roadmaps/100-frontend/content/103-javascript/104-concepts.md", - "version-control-systems": "/roadmaps/100-frontend/content/104-version-control-systems/readme.md", - "version-control-systems:basic-usage-of-git": "/roadmaps/100-frontend/content/104-version-control-systems/100-basic-usage-of-git.md", - "repo-hosting-services": "/roadmaps/100-frontend/content/105-repo-hosting-services/readme.md", - "repo-hosting-services:github": "/roadmaps/100-frontend/content/105-repo-hosting-services/100-github.md", - "repo-hosting-services:gitlab": "/roadmaps/100-frontend/content/105-repo-hosting-services/101-gitlab.md", - "repo-hosting-services:bitbucket": "/roadmaps/100-frontend/content/105-repo-hosting-services/102-bitbucket.md", - "web-security-knowledge": "/roadmaps/100-frontend/content/106-web-security-knowledge/readme.md", - "web-security-knowledge:cors": "/roadmaps/100-frontend/content/106-web-security-knowledge/102-cors.md", - "web-security-knowledge:https": "/roadmaps/100-frontend/content/106-web-security-knowledge/100-https.md", - "web-security-knowledge:content-security-policy": "/roadmaps/100-frontend/content/106-web-security-knowledge/101-content-security-policy.md", - "web-security-knowledge:owasp-security-risks": "/roadmaps/100-frontend/content/106-web-security-knowledge/103-owasp-security-risks.md", - "package-managers": "/roadmaps/100-frontend/content/107-package-managers/readme.md", - "package-managers:npm": "/roadmaps/100-frontend/content/107-package-managers/100-npm.md", - "package-managers:yarn": "/roadmaps/100-frontend/content/107-package-managers/101-yarn.md", - "package-managers:pnpm": "/roadmaps/100-frontend/content/107-package-managers/102-pnpm.md", - "css-architecture": "/roadmaps/100-frontend/content/108-css-architecture/readme.md", - "css-architecture:bem": "/roadmaps/100-frontend/content/108-css-architecture/100-bem.md", - "css-architecture:oocss": "/roadmaps/100-frontend/content/108-css-architecture/101-oocss.md", - "css-architecture:smacss": "/roadmaps/100-frontend/content/108-css-architecture/102-smacss.md", - "css-preprocessors": "/roadmaps/100-frontend/content/109-css-preprocessors/readme.md", - "css-preprocessors:sass": "/roadmaps/100-frontend/content/109-css-preprocessors/100-sass.md", - "css-preprocessors:postcss": "/roadmaps/100-frontend/content/109-css-preprocessors/101-postcss.md", - "css-preprocessors:less": "/roadmaps/100-frontend/content/109-css-preprocessors/102-less.md", - "build-tools": "/roadmaps/100-frontend/content/110-build-tools/readme.md", - "build-tools:task-runners": "/roadmaps/100-frontend/content/110-build-tools/100-task-runners/readme.md", - "build-tools:task-runners:npm-scripts": "/roadmaps/100-frontend/content/110-build-tools/100-task-runners/100-npm-scripts.md", - "build-tools:linters-formatters": "/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/readme.md", - "build-tools:linters-formatters:prettier": "/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/100-prettier.md", - "build-tools:linters-formatters:eslint": "/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/101-eslint.md", - "build-tools:linters-formatters:standardjs": "/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/102-standardjs.md", - "build-tools:module-bundlers": "/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/readme.md", - "build-tools:module-bundlers:webpack": "/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/100-webpack.md", - "build-tools:module-bundlers:esbuild": "/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/101-esbuild.md", - "build-tools:module-bundlers:rollup": "/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/102-rollup.md", - "build-tools:module-bundlers:parcel": "/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/103-parcel.md", - "build-tools:module-bundlers:vite": "/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/104-vite.md", - "pick-a-framework": "/roadmaps/100-frontend/content/111-pick-a-framework/readme.md", - "pick-a-framework:react-js": "/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/readme.md", - "pick-a-framework:svelte": "/roadmaps/100-frontend/content/111-pick-a-framework/103-svelte.md", - "pick-a-framework:solid-js": "/roadmaps/100-frontend/content/111-pick-a-framework/104-solid-js.md", - "pick-a-framework:react-js:recoil": "/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/102-recoil.md", - "pick-a-framework:react-js:redux": "/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/100-redux.md", - "pick-a-framework:react-js:mobx": "/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/101-mobx.md", - "pick-a-framework:angular": "/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/readme.md", - "pick-a-framework:angular:rxjs": "/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/100-rxjs.md", - "pick-a-framework:angular:ngrx": "/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/101-ngrx.md", - "pick-a-framework:vue-js": "/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/readme.md", - "pick-a-framework:vue-js:pinia": "/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/100-pinia.md", - "modern-css": "/roadmaps/100-frontend/content/112-modern-css/readme.md", - "modern-css:styled-components": "/roadmaps/100-frontend/content/112-modern-css/100-styled-components.md", - "modern-css:css-modules": "/roadmaps/100-frontend/content/112-modern-css/101-css-modules.md", - "modern-css:styled-jsx": "/roadmaps/100-frontend/content/112-modern-css/102-styled-jsx.md", - "modern-css:emotion": "/roadmaps/100-frontend/content/112-modern-css/103-emotion.md", - "web-components": "/roadmaps/100-frontend/content/113-web-components/readme.md", - "web-components:html-templates": "/roadmaps/100-frontend/content/113-web-components/100-html-templates.md", - "web-components:custom-elements": "/roadmaps/100-frontend/content/113-web-components/101-custom-elements.md", - "web-components:shadow-dom": "/roadmaps/100-frontend/content/113-web-components/102-shadow-dom.md", - "css-frameworks": "/roadmaps/100-frontend/content/114-css-frameworks/readme.md", - "css-frameworks:js-first": "/roadmaps/100-frontend/content/114-css-frameworks/114-js-first/readme.md", - "css-frameworks:js-first:chakra-ui": "/roadmaps/100-frontend/content/114-css-frameworks/114-js-first/101-chakra-ui.md", - "css-frameworks:js-first:mantine": "/roadmaps/100-frontend/content/114-css-frameworks/114-js-first/104-mantine.md", - "css-frameworks:js-first:material-ui": "/roadmaps/100-frontend/content/114-css-frameworks/114-js-first/102-material-ui.md", - "css-frameworks:js-first:radix-ui": "/roadmaps/100-frontend/content/114-css-frameworks/114-js-first/103-radix-ui.md", - "css-frameworks:js-first:daisy-ui": "/roadmaps/100-frontend/content/114-css-frameworks/114-js-first/105-daisy-ui.md", - "css-frameworks:js-first:tailwind-css": "/roadmaps/100-frontend/content/114-css-frameworks/114-js-first/100-tailwind-css.md", - "css-frameworks:css-first": "/roadmaps/100-frontend/content/114-css-frameworks/114-css-first/readme.md", - "css-frameworks:css-first:bootstrap": "/roadmaps/100-frontend/content/114-css-frameworks/114-css-first/100-bootstrap.md", - "css-frameworks:css-first:bulma": "/roadmaps/100-frontend/content/114-css-frameworks/114-css-first/101-bulma.md", - "testing-your-apps": "/roadmaps/100-frontend/content/115-testing-your-apps/readme.md", - "testing-your-apps:jest": "/roadmaps/100-frontend/content/115-testing-your-apps/100-jest.md", - "testing-your-apps:playwright": "/roadmaps/100-frontend/content/115-testing-your-apps/104-playwright.md", - "testing-your-apps:react-testing-library": "/roadmaps/100-frontend/content/115-testing-your-apps/101-react-testing-library.md", - "testing-your-apps:cypress": "/roadmaps/100-frontend/content/115-testing-your-apps/102-cypress.md", - "testing-your-apps:other-options": "/roadmaps/100-frontend/content/115-testing-your-apps/104-other-options.md", - "testing-your-apps:mocha": "/roadmaps/100-frontend/content/115-testing-your-apps/105-mocha.md", - "testing-your-apps:chai": "/roadmaps/100-frontend/content/115-testing-your-apps/106-chai.md", - "testing-your-apps:ava": "/roadmaps/100-frontend/content/115-testing-your-apps/107-ava.md", - "testing-your-apps:jasmine": "/roadmaps/100-frontend/content/115-testing-your-apps/108-jasmine.md", - "auth-strategies": "/roadmaps/100-frontend/content/116-auth-strategies/readme.md", - "type-checkers": "/roadmaps/100-frontend/content/116-type-checkers/readme.md", - "type-checkers:typescript": "/roadmaps/100-frontend/content/116-type-checkers/100-typescript.md", - "type-checkers:flow": "/roadmaps/100-frontend/content/116-type-checkers/101-flow.md", - "progressive-web-apps": "/roadmaps/100-frontend/content/117-progressive-web-apps/readme.md", - "progressive-web-apps:storage": "/roadmaps/100-frontend/content/117-progressive-web-apps/100-storage.md", - "progressive-web-apps:web-sockets": "/roadmaps/100-frontend/content/117-progressive-web-apps/101-web-sockets.md", - "progressive-web-apps:server-sent-events": "/roadmaps/100-frontend/content/117-progressive-web-apps/102-server-sent-events.md", - "progressive-web-apps:service-workers": "/roadmaps/100-frontend/content/117-progressive-web-apps/103-service-workers.md", - "progressive-web-apps:location": "/roadmaps/100-frontend/content/117-progressive-web-apps/104-location.md", - "progressive-web-apps:notifications": "/roadmaps/100-frontend/content/117-progressive-web-apps/105-notifications.md", - "progressive-web-apps:device-orientation": "/roadmaps/100-frontend/content/117-progressive-web-apps/106-device-orientation.md", - "progressive-web-apps:payments": "/roadmaps/100-frontend/content/117-progressive-web-apps/107-payments.md", - "progressive-web-apps:credentials": "/roadmaps/100-frontend/content/117-progressive-web-apps/108-credentials.md", - "progressive-web-apps:prpl-pattern": "/roadmaps/100-frontend/content/117-progressive-web-apps/109-prpl-pattern.md", - "progressive-web-apps:rail-model": "/roadmaps/100-frontend/content/117-progressive-web-apps/110-rail-model.md", - "progressive-web-apps:performance-metrics": "/roadmaps/100-frontend/content/117-progressive-web-apps/111-performance-metrics.md", - "progressive-web-apps:lighthouse": "/roadmaps/100-frontend/content/117-progressive-web-apps/112-lighthouse.md", - "progressive-web-apps:browser-devtools": "/roadmaps/100-frontend/content/117-progressive-web-apps/113-browser-devtools.md", - "server-side-rendering": "/roadmaps/100-frontend/content/118-server-side-rendering/readme.md", - "server-side-rendering:react-js": "/roadmaps/100-frontend/content/118-server-side-rendering/100-react-js/readme.md", - "server-side-rendering:react-js:next-js": "/roadmaps/100-frontend/content/118-server-side-rendering/100-react-js/100-next-js.md", - "server-side-rendering:react-js:remix": "/roadmaps/100-frontend/content/118-server-side-rendering/100-react-js/101-remix.md", - "server-side-rendering:react-js:after-js": "/roadmaps/100-frontend/content/118-server-side-rendering/100-react-js/101-after-js.md", - "server-side-rendering:angular": "/roadmaps/100-frontend/content/118-server-side-rendering/101-angular/readme.md", - "server-side-rendering:angular:universal": "/roadmaps/100-frontend/content/118-server-side-rendering/101-angular/100-universal.md", - "server-side-rendering:vue-js": "/roadmaps/100-frontend/content/118-server-side-rendering/102-vue-js/readme.md", - "server-side-rendering:vue-js:nuxt-js": "/roadmaps/100-frontend/content/118-server-side-rendering/102-vue-js/100-nuxt-js.md", - "server-side-rendering:svelte": "/roadmaps/100-frontend/content/118-server-side-rendering/103-svelte/readme.md", - "server-side-rendering:svelte:svelte-kit": "/roadmaps/100-frontend/content/118-server-side-rendering/103-svelte/100-svelte-kit.md", - "graphql": "/roadmaps/100-frontend/content/119-graphql/readme.md", - "graphql:apollo": "/roadmaps/100-frontend/content/119-graphql/100-apollo.md", - "graphql:relay-modern": "/roadmaps/100-frontend/content/119-graphql/101-relay-modern.md", - "static-site-generators": "/roadmaps/100-frontend/content/120-static-site-generators/readme.md", - "static-site-generators:next-js": "/roadmaps/100-frontend/content/120-static-site-generators/100-next-js.md", - "static-site-generators:remix": "/roadmaps/100-frontend/content/120-static-site-generators/108-remix.md", - "static-site-generators:gatsbyjs": "/roadmaps/100-frontend/content/120-static-site-generators/101-gatsbyjs.md", - "static-site-generators:nuxt-js": "/roadmaps/100-frontend/content/120-static-site-generators/102-nuxt-js.md", - "static-site-generators:vuepress": "/roadmaps/100-frontend/content/120-static-site-generators/103-vuepress.md", - "static-site-generators:jekyll": "/roadmaps/100-frontend/content/120-static-site-generators/104-jekyll.md", - "static-site-generators:hugo": "/roadmaps/100-frontend/content/120-static-site-generators/105-hugo.md", - "static-site-generators:astro": "/roadmaps/100-frontend/content/120-static-site-generators/106-astro.md", - "static-site-generators:eleventy": "/roadmaps/100-frontend/content/120-static-site-generators/107-eleventy.md", - "mobile-applications": "/roadmaps/100-frontend/content/121-mobile-applications/readme.md", - "mobile-applications:react-native": "/roadmaps/100-frontend/content/121-mobile-applications/100-react-native.md", - "mobile-applications:nativescript": "/roadmaps/100-frontend/content/121-mobile-applications/101-nativescript.md", - "mobile-applications:flutter": "/roadmaps/100-frontend/content/121-mobile-applications/102-flutter.md", - "mobile-applications:ionic": "/roadmaps/100-frontend/content/121-mobile-applications/103-ionic.md", - "desktop-applications": "/roadmaps/100-frontend/content/122-desktop-applications/readme.md", - "desktop-applications:electron": "/roadmaps/100-frontend/content/122-desktop-applications/100-electron.md", - "desktop-applications:tauri": "/roadmaps/100-frontend/content/122-desktop-applications/101-tauri.md", - "desktop-applications:flutter": "/roadmaps/100-frontend/content/122-desktop-applications/102-flutter.md", - "bonus-content": "/roadmaps/100-frontend/content/123-bonus-content.md" -} diff --git a/content/roadmaps/100-frontend/content/100-internet/100-how-does-the-internet-work.md b/content/roadmaps/100-frontend/content/100-internet/100-how-does-the-internet-work.md deleted file mode 100644 index 956b89101..000000000 --- a/content/roadmaps/100-frontend/content/100-internet/100-how-does-the-internet-work.md +++ /dev/null @@ -1,11 +0,0 @@ -# Internet - -The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols. - -Free Content -The Internet Explained -How Does the Internet Work? -How Does the Internet Work? MDN Docs -Introduction to Internet -How does the Internet work? -How the Internet Works in 5 Minutes diff --git a/content/roadmaps/100-frontend/content/100-internet/101-what-is-http.md b/content/roadmaps/100-frontend/content/100-internet/101-what-is-http.md deleted file mode 100644 index 2e8aad4bd..000000000 --- a/content/roadmaps/100-frontend/content/100-internet/101-what-is-http.md +++ /dev/null @@ -1,12 +0,0 @@ -# What is HTTP? - -HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. HTTP follows a classical "Client-Server model" with a client opening a connection request, then waiting until it receives a response. HTTP is a stateless protocol, that means that the server does not keep any data (state) between two requests. - -Free Content -What is HTTP? -How HTTPS Works ...in a comic! -An overview of HTTP -Journey to HTTP/2 -HTTP/3 From A To Z: Core Concepts -HTTP/3 Is Now a Standard: Why Use It and How to Get Started -HTTP Crash Course & Exploration diff --git a/content/roadmaps/100-frontend/content/100-internet/102-browsers-and-how-they-work.md b/content/roadmaps/100-frontend/content/100-internet/102-browsers-and-how-they-work.md deleted file mode 100644 index c07b24906..000000000 --- a/content/roadmaps/100-frontend/content/100-internet/102-browsers-and-how-they-work.md +++ /dev/null @@ -1,9 +0,0 @@ -# Browsers - -A web browser is a software application that enables a user to access and display web pages or other online content through its graphical user interface. - -Free Content -How Browsers Work -Role of Rendering Engine in Browsers -Populating the Page: How Browsers Work -How Do Web Browsers Work? diff --git a/content/roadmaps/100-frontend/content/100-internet/103-dns-and-how-it-works.md b/content/roadmaps/100-frontend/content/100-internet/103-dns-and-how-it-works.md deleted file mode 100644 index 02e6a6df8..000000000 --- a/content/roadmaps/100-frontend/content/100-internet/103-dns-and-how-it-works.md +++ /dev/null @@ -1,12 +0,0 @@ -# DNS - -The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources. - -Free Content -What is DNS? -Mess with DNS - DNS Playground -How DNS works (comic) -DNS and How does it Work? -DNS Records -When to add glue records to DNS settings -DNS Records for Newbies - How To Manage Website Records diff --git a/content/roadmaps/100-frontend/content/100-internet/104-what-is-domain-name.md b/content/roadmaps/100-frontend/content/100-internet/104-what-is-domain-name.md deleted file mode 100644 index bf8d23383..000000000 --- a/content/roadmaps/100-frontend/content/100-internet/104-what-is-domain-name.md +++ /dev/null @@ -1,8 +0,0 @@ -# Domain Name - -A domain name is a unique, easy-to-remember address used to access websites, such as ‘google.com’, and ‘facebook.com’. Users can connect to websites using domain names thanks to the Domain Name System (DNS). - -Free Content -What is a Domain Name? -What is a Domain Name? | Domain name vs. URL -A Beginners Guide to How Domain Names Work diff --git a/content/roadmaps/100-frontend/content/100-internet/105-what-is-hosting.md b/content/roadmaps/100-frontend/content/100-internet/105-what-is-hosting.md deleted file mode 100644 index 7ab9b4f76..000000000 --- a/content/roadmaps/100-frontend/content/100-internet/105-what-is-hosting.md +++ /dev/null @@ -1,8 +0,0 @@ -# Hosting - -Web hosting is an online service that allows you to publish your website files onto the internet. So, anyone who has access to the internet has access to your website. - -Free Content -What Is Web Hosting? Explained -Different Types of Web Hosting Explained -Where to Host a Fullstack Project on a Budget diff --git a/content/roadmaps/100-frontend/content/100-internet/readme.md b/content/roadmaps/100-frontend/content/100-internet/readme.md deleted file mode 100644 index 853107e37..000000000 --- a/content/roadmaps/100-frontend/content/100-internet/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Internet - -The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols. - -Free Content -The Internet Explained -How Does the Internet Work? -Introduction to Internet -Learn How the Web Works -How does the Internet work? -How the Internet Works in 5 Minutes - diff --git a/content/roadmaps/100-frontend/content/101-html/100-learn-the-basics.md b/content/roadmaps/100-frontend/content/101-html/100-learn-the-basics.md deleted file mode 100644 index 480585471..000000000 --- a/content/roadmaps/100-frontend/content/101-html/100-learn-the-basics.md +++ /dev/null @@ -1,12 +0,0 @@ -# HTML Basics - -HTML stands for HyperText Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript. - -Free Content -W3Schools: Learn HTML -MDN Docs: Getting Started with HTML -web.dev: Learn HTML -HTML Full Course - Build a Website Tutorial -HTML Tutorial for Beginners: HTML Crash Course -HTML Cheatsheet -Scaler: HTML diff --git a/content/roadmaps/100-frontend/content/101-html/101-writing-semantic-html.md b/content/roadmaps/100-frontend/content/101-html/101-writing-semantic-html.md deleted file mode 100644 index c073f1fa2..000000000 --- a/content/roadmaps/100-frontend/content/101-html/101-writing-semantic-html.md +++ /dev/null @@ -1,11 +0,0 @@ -# Semantic HTML - -Semantic element clearly describes its meaning to both the browser and the developer. In HTML, semantic element are the type of elements that can be used to define different parts of a web page such as `
`, ``, `
`, `
`, `
`, etc. - -Free Content -Semantics - MDN Web Docs Glossary: Definitions of Web-related terms | MDN -W3Schools: Semantic HTML -How To Write Semantic HTML -HTML Best Practices – How to Build a Better HTML-Based Website -Semantic HTML: What It Is and How It Improves Your Site -Semantic Markup diff --git a/content/roadmaps/100-frontend/content/101-html/102-forms-and-validations.md b/content/roadmaps/100-frontend/content/101-html/102-forms-and-validations.md deleted file mode 100644 index d81258d38..000000000 --- a/content/roadmaps/100-frontend/content/101-html/102-forms-and-validations.md +++ /dev/null @@ -1,9 +0,0 @@ -# Forms and Validations - -Before submitting data to the server, it is important to ensure all required form controls are filled out, in the correct format. This is called client-side form validation, and helps ensure data submitted matches the requirements set forth in the various form controls. - -Free Content -MDN Web Docs: Client-side form validation -Learn Forms by web.dev -W3Schools: JavaScript Form Validation - diff --git a/content/roadmaps/100-frontend/content/101-html/103-conventions-and-best-practices.md b/content/roadmaps/100-frontend/content/101-html/103-conventions-and-best-practices.md deleted file mode 100644 index 1c2a4bfd1..000000000 --- a/content/roadmaps/100-frontend/content/101-html/103-conventions-and-best-practices.md +++ /dev/null @@ -1,7 +0,0 @@ -# Best Practices - -Learn to follow the best practices for writing maintainable and scalable HTML documents. - -Free Content -HTML Best Practices - diff --git a/content/roadmaps/100-frontend/content/101-html/104-accessibility.md b/content/roadmaps/100-frontend/content/101-html/104-accessibility.md deleted file mode 100644 index fb5c7a763..000000000 --- a/content/roadmaps/100-frontend/content/101-html/104-accessibility.md +++ /dev/null @@ -1,13 +0,0 @@ -# Accessibility - -Web accessibility means that websites, tools, and technologies are designed and developed in such a way that people with disabilities can use them easily. - -Free Content -Developing for Web Accessibility by W3C WAI -Accessibility Tutorial -A Complete Guide To Accessible Front-End Components -Complete Playlist on Accessibility -MDN Accessibility -Accessibility for Developers by Google -Web Accessibility by Udacity -Accessibility as an Essential Part of the Inclusive Developer Experience diff --git a/content/roadmaps/100-frontend/content/101-html/105-seo-basics.md b/content/roadmaps/100-frontend/content/101-html/105-seo-basics.md deleted file mode 100644 index 666c6c1cd..000000000 --- a/content/roadmaps/100-frontend/content/101-html/105-seo-basics.md +++ /dev/null @@ -1,13 +0,0 @@ -# Basics of SEO - -SEO or Search Engine Optimization is the technique used to optimize your website for better rankings on search engines such as Google, Bing etc. - - -Free Content - -Google Search Central — SEO Docs -SEO Guide -8 Must-Know SEO Best Practices For Developers -SEO for Developers -Complete SEO Course for Beginners -SEO Expert Course diff --git a/content/roadmaps/100-frontend/content/101-html/readme.md b/content/roadmaps/100-frontend/content/101-html/readme.md deleted file mode 100644 index e2c7a5af0..000000000 --- a/content/roadmaps/100-frontend/content/101-html/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# HTML - -HTML stands for HyperText Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript. - -Free Content -W3Schools: Learn HTML -htmlreference.io: All HTML elements at a glance -HTML For Beginners The Easy Way -Web Development Basics -Codecademy - Learn HTML -Interactive HTML Course -HTML Full Course for Beginners | Complete All-in-One Tutorial -HTML Full Course - Build a Website Tutorial -HTML Tutorial for Beginners: HTML Crash Course diff --git a/content/roadmaps/100-frontend/content/102-css/100-learn-the-basics.md b/content/roadmaps/100-frontend/content/102-css/100-learn-the-basics.md deleted file mode 100644 index 6dbd7cf34..000000000 --- a/content/roadmaps/100-frontend/content/102-css/100-learn-the-basics.md +++ /dev/null @@ -1,12 +0,0 @@ -# CSS Basics - -CSS or Cascading Style Sheets is the language used to style the frontend of any website. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript. - -Free Content -W3Schools — Learn CSS -web.dev — Learn CSS -freeCodeCamp — Responsive Web Design -Learn to Code HTML & CSS -CSS Crash Course For Absolute Beginners -HTML and CSS Tutorial -CSS Masterclass - Tutorial & Course for Beginners diff --git a/content/roadmaps/100-frontend/content/102-css/101-making-layouts.md b/content/roadmaps/100-frontend/content/102-css/101-making-layouts.md deleted file mode 100644 index 3a1d482cd..000000000 --- a/content/roadmaps/100-frontend/content/102-css/101-making-layouts.md +++ /dev/null @@ -1,17 +0,0 @@ -# Making layouts - -Float, grid, flexbox, positioning, display and box model are some of the key topics that are used for making layouts. Use the resources below to learn about these topics: - -Free Content - -Learn and Practice Flexbox -Game for learning CSS Grid -All about Floats -Positioning Types: How Do They Differ? -The Box Model -The CSS Display Property -A Complete Guide to Flexbox -A Complete Guide to Grid -Learn CSS Grid - Course -Learn CSS Grid for free -Get on the Grid at Last with the CSS Grid Layout Module diff --git a/content/roadmaps/100-frontend/content/102-css/102-responsive-design-and-media-queries.md b/content/roadmaps/100-frontend/content/102-css/102-responsive-design-and-media-queries.md deleted file mode 100644 index 5d71b1cfb..000000000 --- a/content/roadmaps/100-frontend/content/102-css/102-responsive-design-and-media-queries.md +++ /dev/null @@ -1,12 +0,0 @@ -# Responsive Web Design - -Responsive Web Designing is the technique to make your webpages look good on all screen sizes. There are certain techniques used to achieve that e.g. CSS media queries, percentage widths, min or max widths heights etc. - -Free Content - -Responsive Web Design -Learn Responsive Design -The Beginner’s Guide to Responsive Web Design -The guide to responsive web design in 2022 -5 simple tips to making responsive layouts the easy way -Introduction To Responsive Web Design diff --git a/content/roadmaps/100-frontend/content/102-css/readme.md b/content/roadmaps/100-frontend/content/102-css/readme.md deleted file mode 100644 index 06b860beb..000000000 --- a/content/roadmaps/100-frontend/content/102-css/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# CSS - -CSS or Cascading Style Sheets is the language used to style the frontend of any website. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript. - -Free Content - -The Odin Project -What The Flexbox! -Learn CSS | Codecademy -Learn Intermediate CSS | Codecademy -CSS Complete Course -CSS Crash Course For Absolute Beginners -HTML and CSS Tutorial -CSS Masterclass - Tutorial & Course for Beginners -W3Schools — Learn CSS -cssreference.io: All CSS properties at a glance -Web.dev by Google — Learn CSS -freeCodeCamp — Responsive Web Design -Learn to Code HTML & CSS -Joshw Comeau's CSS Hack Blog Posts -100 Days CSS Challenge -CSS Tutorial | Scaler diff --git a/content/roadmaps/100-frontend/content/103-javascript/100-syntax-and-basic-constructs.md b/content/roadmaps/100-frontend/content/103-javascript/100-syntax-and-basic-constructs.md deleted file mode 100644 index f8708aa41..000000000 --- a/content/roadmaps/100-frontend/content/103-javascript/100-syntax-and-basic-constructs.md +++ /dev/null @@ -1,9 +0,0 @@ -# JavaScript - -JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on. - -Free Content -W3Schools – JavaScript Tutorial -The Modern JavaScript Tutorial -JavaScript Crash Course for Beginners -Build a Netflix Landing Page Clone with HTML, CSS & JS diff --git a/content/roadmaps/100-frontend/content/103-javascript/101-learn-dom-manipulation.md b/content/roadmaps/100-frontend/content/103-javascript/101-learn-dom-manipulation.md deleted file mode 100644 index a4d43e199..000000000 --- a/content/roadmaps/100-frontend/content/103-javascript/101-learn-dom-manipulation.md +++ /dev/null @@ -1,15 +0,0 @@ -# DOM Manipulation - -The Document Object Model (DOM) is a programming interface built for HTML and XML documents. It represents the page that allows programs and scripts to dynamically update the document structure, content, and style. With DOM, we can easily access and manipulate tags, IDs, classes, attributes, etc. - -Free Content -DOM Tree -GeeksForGeeks - DOM (Document Object Model) -What is the DOM? -Eloquent JavaScript, 3rd Edition: The Document Object Model -JavaScript HTML DOM -JavaScript DOM -Learn the HTML DOM with Exercises - CodeGuage -What is DOM, Shadow DOM and Virtual DOM? -JavaScript DOM Crash Course - diff --git a/content/roadmaps/100-frontend/content/103-javascript/102-learn-fetch-api-ajax-xhr.md b/content/roadmaps/100-frontend/content/103-javascript/102-learn-fetch-api-ajax-xhr.md deleted file mode 100644 index 729f27762..000000000 --- a/content/roadmaps/100-frontend/content/103-javascript/102-learn-fetch-api-ajax-xhr.md +++ /dev/null @@ -1,9 +0,0 @@ -# Fetch API - -Ajax is the technique that lets us send and receive the data asynchronously from the servers e.g. updating the user profile or asynchronously fetching the list of searched products without reloading the page. - -Free Content -Fetch API MDN Docs -A Simple Guide to JavaScript Fetch API -Introduction to Fetch -JavaScript Fetch API diff --git a/content/roadmaps/100-frontend/content/103-javascript/103-es6-and-modular-javascript.md b/content/roadmaps/100-frontend/content/103-javascript/103-es6-and-modular-javascript.md deleted file mode 100644 index 11d8ac27b..000000000 --- a/content/roadmaps/100-frontend/content/103-javascript/103-es6-and-modular-javascript.md +++ /dev/null @@ -1,12 +0,0 @@ -# Modern JavaScript - -ECMAScript 2015 or ES2015 is a significant update to the JavaScript programming language. It is the first major update to the language since ES5 which was standardized in 2009. You should look at the features introduced with ES6 and onwards. - -Free Content -ES6 Tutorial -W3Schools: Javascript ES6 -Learn Modern JavaScript in 1 Hour -JavaScript ES6, ES7, ES8 -Build 15 JavaScript Projects - Vanilla JavaScript -Modern JavaScript ES6, ES7 & ES8 -Easy ES6 Goodies for Busy JavaScript Developers diff --git a/content/roadmaps/100-frontend/content/103-javascript/104-concepts.md b/content/roadmaps/100-frontend/content/103-javascript/104-concepts.md deleted file mode 100644 index 12380cd33..000000000 --- a/content/roadmaps/100-frontend/content/103-javascript/104-concepts.md +++ /dev/null @@ -1,14 +0,0 @@ -# JavaScript Concepts - -Learn and understand the concepts such as Hoisting, Event Bubbling, Scope, Prototype, Shadow DOM and strict. - -Free Content -JavaScript Hoisting -Event Bubbling and Capturing -Scope in JavaScript -Var, Let and Const — What's the difference? -Inheritance and Prototype Chain -JavaScript Strict Mode -JavaScript Visualized (7 Part Series) -DOM vs Shadow DOM vs Virtual DOM -Demystifying JavaScript Promises \ No newline at end of file diff --git a/content/roadmaps/100-frontend/content/103-javascript/readme.md b/content/roadmaps/100-frontend/content/103-javascript/readme.md deleted file mode 100644 index 444252898..000000000 --- a/content/roadmaps/100-frontend/content/103-javascript/readme.md +++ /dev/null @@ -1,21 +0,0 @@ - - -# JavaScript - -JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on. - -Free Content -W3Schools – JavaScript Tutorial -The Modern JavaScript Tutorial -Learn JavaScript: Covered many topics -Eloquent JavaScript textbook -You Don't Know JS Yet (book series) -JavaScript Crash Course for Beginners -Build a Netflix Landing Page Clone with HTML, CSS & JS -Build 30 Javascript projects in 30 days -Learn the basics of JavaScript -JavaScript for Beginners diff --git a/content/roadmaps/100-frontend/content/104-version-control-systems/100-basic-usage-of-git.md b/content/roadmaps/100-frontend/content/104-version-control-systems/100-basic-usage-of-git.md deleted file mode 100644 index 7e9ba969e..000000000 --- a/content/roadmaps/100-frontend/content/104-version-control-systems/100-basic-usage-of-git.md +++ /dev/null @@ -1,11 +0,0 @@ -# Git - -[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. - -Free Content -Visual Git Guide -Git and Github full course -Version Control System Introduction -Git & GitHub Crash Course For Beginners -Learn Git in 20 Minutes -Tutorial: Git for Absolutely Everyone diff --git a/content/roadmaps/100-frontend/content/104-version-control-systems/readme.md b/content/roadmaps/100-frontend/content/104-version-control-systems/readme.md deleted file mode 100644 index 31accb535..000000000 --- a/content/roadmaps/100-frontend/content/104-version-control-systems/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Version Control Systems - -Version control systems allow you to track changes to your codebase/files over time. They allow you to go back to some previous version of the codebase without any issues. Also, they help in collaborating with people working on the same code – if you’ve ever collaborated with other people on a project, you might already know the frustration of copying and merging the changes from someone else into your codebase; version control systems allow you to get rid of this issue. - -Free Content -Version Control System Introduction -Git & GitHub Crash Course For Beginners -Learn Git in 20 Minutes -Git Documentation -Learn Git by Atlassian diff --git a/content/roadmaps/100-frontend/content/105-repo-hosting-services/100-github.md b/content/roadmaps/100-frontend/content/105-repo-hosting-services/100-github.md deleted file mode 100644 index 75f088d0c..000000000 --- a/content/roadmaps/100-frontend/content/105-repo-hosting-services/100-github.md +++ /dev/null @@ -1,12 +0,0 @@ -# GitHub - -[GitHub](https://github.com) is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. - -Free Content - -GitHub: Quickstart -Learn GitHub by doing -What is GitHub? -Git vs. GitHub: What's the difference? -Git and GitHub for Beginners -Git and GitHub - CS50 Beyond 2019 diff --git a/content/roadmaps/100-frontend/content/105-repo-hosting-services/101-gitlab.md b/content/roadmaps/100-frontend/content/105-repo-hosting-services/101-gitlab.md deleted file mode 100644 index 7232dfd48..000000000 --- a/content/roadmaps/100-frontend/content/105-repo-hosting-services/101-gitlab.md +++ /dev/null @@ -1,9 +0,0 @@ -# GitLab - -[GitLab](https://gitlab.com) is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. - -Free Content - -GitLab Documentation -GitLab Website -Development: Connect git to GitLab for Small Projects diff --git a/content/roadmaps/100-frontend/content/105-repo-hosting-services/102-bitbucket.md b/content/roadmaps/100-frontend/content/105-repo-hosting-services/102-bitbucket.md deleted file mode 100644 index 2c1074cae..000000000 --- a/content/roadmaps/100-frontend/content/105-repo-hosting-services/102-bitbucket.md +++ /dev/null @@ -1,8 +0,0 @@ -# BitBucket - -[BitBucket](https://bitbucket.com) is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. - -Free Content - -How to use BitBucket? -BitBucket Website diff --git a/content/roadmaps/100-frontend/content/105-repo-hosting-services/readme.md b/content/roadmaps/100-frontend/content/105-repo-hosting-services/readme.md deleted file mode 100644 index 42eefcc3d..000000000 --- a/content/roadmaps/100-frontend/content/105-repo-hosting-services/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -# Repo Hosting Services - -There are different repository hosting services with the most famous one being GitHub, GitLab and BitBucket. I would recommend creating an account on GitHub because that is where most of the OpenSource work is done and most of the developers are. - -Services Links -GitHub: Where the world builds software -GitLab: Iterate faster, innovate together -BitBucket: The Git solution for professional teams diff --git a/content/roadmaps/100-frontend/content/106-web-security-knowledge/100-https.md b/content/roadmaps/100-frontend/content/106-web-security-knowledge/100-https.md deleted file mode 100644 index 916c1fab3..000000000 --- a/content/roadmaps/100-frontend/content/106-web-security-knowledge/100-https.md +++ /dev/null @@ -1,13 +0,0 @@ -# HTTPS - -HTTPS is a secure way to send data between a web server and a browser. - -Hypertext transfer protocol secure (HTTPS) is the secure version of HTTP, which is the primary protocol used to send data between a web browser and a website. HTTPS is encrypted in order to increase security of data transfer. This is particularly important when users transmit sensitive data, such as by logging into a bank account, email service, or health insurance provider - -Free Content -What is HTTPS? -Why HTTPS Matters -Enabling HTTPS on Your Servers -How HTTPS works (comic) -SSL, TLS, HTTP, HTTPS Explained -HTTPS — Stories from the field diff --git a/content/roadmaps/100-frontend/content/106-web-security-knowledge/101-content-security-policy.md b/content/roadmaps/100-frontend/content/106-web-security-knowledge/101-content-security-policy.md deleted file mode 100644 index b01265589..000000000 --- a/content/roadmaps/100-frontend/content/106-web-security-knowledge/101-content-security-policy.md +++ /dev/null @@ -1,8 +0,0 @@ -# Content Security Policy - -Content Security Policy is a computer security standard introduced to prevent cross-site scripting, clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context. - -Free Content -MDN — Content Security Policy (CSP) -Google Devs — Content Security Policy (CSP) - diff --git a/content/roadmaps/100-frontend/content/106-web-security-knowledge/102-cors.md b/content/roadmaps/100-frontend/content/106-web-security-knowledge/102-cors.md deleted file mode 100644 index 1fc8e60d4..000000000 --- a/content/roadmaps/100-frontend/content/106-web-security-knowledge/102-cors.md +++ /dev/null @@ -1,6 +0,0 @@ -# CORS - -Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources. - -Free Content -CORS — Cross-Origin Resource Sharing diff --git a/content/roadmaps/100-frontend/content/106-web-security-knowledge/103-owasp-security-risks.md b/content/roadmaps/100-frontend/content/106-web-security-knowledge/103-owasp-security-risks.md deleted file mode 100644 index ec0b8ae42..000000000 --- a/content/roadmaps/100-frontend/content/106-web-security-knowledge/103-owasp-security-risks.md +++ /dev/null @@ -1,10 +0,0 @@ -# OWASP Security Risks - -OWASP or Open Web Application Security Project is an online community that produces freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security. - -Free Content -Wikipedia - OWASP -OWASP Web Application Security Testing Checklist -OWASP Top 10 Security Risks -OWASP Cheatsheets -OWASP Top 10: A Guide to the Worst Software Vulnerabilities diff --git a/content/roadmaps/100-frontend/content/106-web-security-knowledge/readme.md b/content/roadmaps/100-frontend/content/106-web-security-knowledge/readme.md deleted file mode 100644 index cd81fdf2f..000000000 --- a/content/roadmaps/100-frontend/content/106-web-security-knowledge/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Web Security Knowledge - -Web security refers to the protective measures taken by the developers to protect the web applications from threats that could affect the business. - -Free Content -Why HTTPS Matters -Wikipedia - OWASP -OWASP Web Application Security Testing Checklist -OWASP Top 10 Security Risks -OWASP Cheatsheets -Content Security Policy (CSP) -OWASP ZAP Step-by-Step Tutorial diff --git a/content/roadmaps/100-frontend/content/107-package-managers/100-npm.md b/content/roadmaps/100-frontend/content/107-package-managers/100-npm.md deleted file mode 100644 index f1515664f..000000000 --- a/content/roadmaps/100-frontend/content/107-package-managers/100-npm.md +++ /dev/null @@ -1,10 +0,0 @@ -# npm - -npm is a package manager for the JavaScript programming language maintained by npm, Inc. npm is the default package manager for the JavaScript runtime environment Node.js. - -Free Content -Modern JavaScript for Dinosaurs -An Absolute Beginner's Guide to Using npm -How to NPM -NPM tutorial for Beginners -NPM Crash Course diff --git a/content/roadmaps/100-frontend/content/107-package-managers/101-yarn.md b/content/roadmaps/100-frontend/content/107-package-managers/101-yarn.md deleted file mode 100644 index dba71b91a..000000000 --- a/content/roadmaps/100-frontend/content/107-package-managers/101-yarn.md +++ /dev/null @@ -1,8 +0,0 @@ -# Yarn - -Yarn is a software packaging system developed in 2016 by Facebook for Node.js JavaScript runtime environment that provides speed, consistency, stability, and security as an alternative to npm (package manager). - -Free Content -Modern JavaScript for Dinosaurs -Yarn - Getting Started -Yarn Crash Course diff --git a/content/roadmaps/100-frontend/content/107-package-managers/102-pnpm.md b/content/roadmaps/100-frontend/content/107-package-managers/102-pnpm.md deleted file mode 100644 index 63c6b2486..000000000 --- a/content/roadmaps/100-frontend/content/107-package-managers/102-pnpm.md +++ /dev/null @@ -1,7 +0,0 @@ -# pnpm - -PNPM is an alternative package manager for Node. js which stands for “Performant NPM”. The main purpose of PNPM is to hold all the packages at a global (centralized) store and use them if needed by other projects too by creating hard links to it. - -Free Content -Official Website -Meet PNPM: The Faster, More Performant NPM diff --git a/content/roadmaps/100-frontend/content/107-package-managers/readme.md b/content/roadmaps/100-frontend/content/107-package-managers/readme.md deleted file mode 100644 index b4ba8c733..000000000 --- a/content/roadmaps/100-frontend/content/107-package-managers/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Package Managers - -Package managers allow you to manage the dependencies (external code written by you or someone else) that your project needs to work correctly. - -Free Content -Modern JavaScript for Dinosaurs -An Absolute Beginner's Guide to Using npm -Yarn - Getting Started -NPM tutorial for Beginners -NPM Crash Course -Yarn Crash Course - - diff --git a/content/roadmaps/100-frontend/content/108-css-architecture/100-bem.md b/content/roadmaps/100-frontend/content/108-css-architecture/100-bem.md deleted file mode 100644 index d546122bb..000000000 --- a/content/roadmaps/100-frontend/content/108-css-architecture/100-bem.md +++ /dev/null @@ -1,9 +0,0 @@ -# BEM - -The Block, Element, Modifier methodology (commonly referred to as BEM) is a popular naming convention for classes in HTML and CSS. Developed by the team at Yandex, its goal is to help developers better understand the relationship between the HTML and CSS in a given project. - -Free Content -BEM Official Website -BEM Documentation -BEM 101 -BEM Tutorials diff --git a/content/roadmaps/100-frontend/content/108-css-architecture/101-oocss.md b/content/roadmaps/100-frontend/content/108-css-architecture/101-oocss.md deleted file mode 100644 index fa240338b..000000000 --- a/content/roadmaps/100-frontend/content/108-css-architecture/101-oocss.md +++ /dev/null @@ -1,7 +0,0 @@ -# OOCSS - -As with any object-based coding method, the purpose of OOCSS or Object Oriented CSS is to encourage code reuse and, ultimately, faster and more efficient stylesheets that are easier to add to and maintain. - -Free Content -OOCSS Official Website -Introduction to Object Oriented CSS diff --git a/content/roadmaps/100-frontend/content/108-css-architecture/102-smacss.md b/content/roadmaps/100-frontend/content/108-css-architecture/102-smacss.md deleted file mode 100644 index ca2c502f9..000000000 --- a/content/roadmaps/100-frontend/content/108-css-architecture/102-smacss.md +++ /dev/null @@ -1,6 +0,0 @@ -# SMACSS - -SMACSS (pronounced “smacks”) is more style guide than rigid framework. SMACSS is a way to examine your design process and as a way to fit those rigid frameworks into a flexible thought process. It is an attempt to document a consistent approach to site development when using CSS. - -Free Content -SMACSS Official Website diff --git a/content/roadmaps/100-frontend/content/108-css-architecture/readme.md b/content/roadmaps/100-frontend/content/108-css-architecture/readme.md deleted file mode 100644 index eb01b49bf..000000000 --- a/content/roadmaps/100-frontend/content/108-css-architecture/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# CSS Architecture - -CSS is notoriously difficult to manage in large, complex, rapidly-iterated systems. There are different ways of writing CSS that allows in writing more maintainable CSS. - -Free Content -A Look at Some CSS Methodologies -BEM Official Website -OOCSS Official Website -SMACSS Official Website - diff --git a/content/roadmaps/100-frontend/content/109-css-preprocessors/100-sass.md b/content/roadmaps/100-frontend/content/109-css-preprocessors/100-sass.md deleted file mode 100644 index 5e4026b99..000000000 --- a/content/roadmaps/100-frontend/content/109-css-preprocessors/100-sass.md +++ /dev/null @@ -1,9 +0,0 @@ -# Sass - -Sass is a preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets. It lets you write maintainable CSS and provides features like variable, nesting, mixins, extension, functions, loops, conditionals and so on. - -Free Content -Sass Website -Official Documentation - Sass Tutorial for Beginners - Sass, BEM, & Responsive Design diff --git a/content/roadmaps/100-frontend/content/109-css-preprocessors/101-postcss.md b/content/roadmaps/100-frontend/content/109-css-preprocessors/101-postcss.md deleted file mode 100644 index 5d1653543..000000000 --- a/content/roadmaps/100-frontend/content/109-css-preprocessors/101-postcss.md +++ /dev/null @@ -1,6 +0,0 @@ -# PostCSS - -PostCSS is a tool for transforming styles with JS plugins. These plugins can lint your CSS, support variables and mixins, transpile future CSS syntax, inline images, and more. - -Free Resources -Official Website diff --git a/content/roadmaps/100-frontend/content/109-css-preprocessors/102-less.md b/content/roadmaps/100-frontend/content/109-css-preprocessors/102-less.md deleted file mode 100644 index 8f462f999..000000000 --- a/content/roadmaps/100-frontend/content/109-css-preprocessors/102-less.md +++ /dev/null @@ -1,8 +0,0 @@ -# Less - -Less extends CSS with dynamic behavior such as variables, mixins, operations and functions. Less runs on both the server-side (with Node.js and Rhino) or client-side (modern browsers only). - -Free Content -Official Website -Official Documentation - Less CSS Pre-Processor Tutorial diff --git a/content/roadmaps/100-frontend/content/109-css-preprocessors/readme.md b/content/roadmaps/100-frontend/content/109-css-preprocessors/readme.md deleted file mode 100644 index 689a71c56..000000000 --- a/content/roadmaps/100-frontend/content/109-css-preprocessors/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# CSS Preprocessors - -CSS Preprocessors are scripting languages that extend the default capabilities of CSS. They enable us to use logic in our CSS code, such as variables, nesting, inheritance, mixins, functions, and mathematical operations. - -Free Content -CSS Preprocessors Explained -Why Use Preprocessors? diff --git a/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/100-npm-scripts.md b/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/100-npm-scripts.md deleted file mode 100644 index 23401920c..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/100-npm-scripts.md +++ /dev/null @@ -1,8 +0,0 @@ -# npm Scripts - -npm scripts are the entries in the scripts field of the package.json file. The scripts field holds an object where you can specify various commands and scripts that you want to expose. - -Free Content -Introduction to npm scripts -Codevolution: npm scripts - diff --git a/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/readme.md b/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/readme.md deleted file mode 100644 index b60a63a75..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/100-task-runners/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Task Runners - -Task Runner are tools to simplify certain tedious tasks of development, like automating sass/scss compilation, bundling assets, linting source code, and hot reloading local server. - -Free Content -npm script -yarn script diff --git a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/100-webpack.md b/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/100-webpack.md deleted file mode 100644 index 01700d63b..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/100-webpack.md +++ /dev/null @@ -1,9 +0,0 @@ -# Webpack - -Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. - -Free Content - -Webpack Official Website -Webpack Documentation -A Complete Guide to Webpack 5 diff --git a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/101-esbuild.md b/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/101-esbuild.md deleted file mode 100644 index 60ae8daca..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/101-esbuild.md +++ /dev/null @@ -1,7 +0,0 @@ -# esbuild - -Our current build tools for the web are 10-100x slower than they could be. The main goal of the esbuild bundler project is to bring about a new era of build tool performance, and create an easy-to-use modern bundler along the way. - -Esbuild Official Website -Esbuild Documentation -Why are People Obsessed with esbuild? diff --git a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/102-rollup.md b/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/102-rollup.md deleted file mode 100644 index 76969f6d3..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/102-rollup.md +++ /dev/null @@ -1,8 +0,0 @@ -# Rollup - -Rollup is a module bundler for JavaScript which compiles small pieces of code into something larger and more complex, such as a library or application. - -Free Content - -Official Website and Docs -How to Set Up JavaScript Bundling Using Rollup diff --git a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/103-parcel.md b/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/103-parcel.md deleted file mode 100644 index 4d2da5b95..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/103-parcel.md +++ /dev/null @@ -1,8 +0,0 @@ -# Parcel - -Parcel is a web application bundler, differentiated by its developer experience. It offers blazing-fast performance utilizing multicore processing and requires zero configuration. - -Free Content - -Official Website and Docs -Using Parcel Bundler with React diff --git a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/104-vite.md b/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/104-vite.md deleted file mode 100644 index 45e317c3f..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/104-vite.md +++ /dev/null @@ -1,8 +0,0 @@ -# Vite - -Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects. - -Free Content -Vite Website -Vite Documentation -Vite Crash Course diff --git a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/readme.md b/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/readme.md deleted file mode 100644 index 38b19c220..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module Bundlers - -A module bundler is a tool that takes pieces of JavaScript and their dependencies and bundles them into a single file, usually for use in the browser. You may have used tools such as Browserify, Webpack, Rollup or one of many others. - -It usually starts with an entry file, and from there it bundles up all of the code needed for that entry file. - -Free Content - -Let’s learn how module bundlers work -Module Bundlers Explained - diff --git a/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/100-prettier.md b/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/100-prettier.md deleted file mode 100644 index f6e700634..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/100-prettier.md +++ /dev/null @@ -1,7 +0,0 @@ -# Prettier - -Prettier is an opinionated code formatter with support for JavaScript, HTML, CSS, YAML, Markdown, GraphQL Schemas. By far the biggest reason for adopting Prettier is to stop all the on-going debates over styles. - -Free Content -Prettier Website -Why Prettier diff --git a/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/101-eslint.md b/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/101-eslint.md deleted file mode 100644 index 9d0818011..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/101-eslint.md +++ /dev/null @@ -1,8 +0,0 @@ -# ESLint - -With ESLint you can impose the coding standard using a certain set of standalone rules. - -Free Content -ESLint Official Website -Introduction to ESLint -ESLint Quickstart - find errors automatically diff --git a/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/102-standardjs.md b/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/102-standardjs.md deleted file mode 100644 index 11f2906ca..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/102-standardjs.md +++ /dev/null @@ -1,9 +0,0 @@ -# StandardJS - -Standardjs is a Style guide, with linter & automatic code fixer. It is a way to enforce consistent style in your project. It automatically formats code. -Standard JS is a tool in the Code Review category of a tech stack. - -Free Content -Official Website -Standard JS Tutorial with React, Prettier - diff --git a/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/readme.md b/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/readme.md deleted file mode 100644 index 3a09fd0ef..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# Linters formatters - -A linter is a tool used to analyze code and discover bugs, syntax errors, stylistic inconsistencies, and suspicious constructs. Popular linters for JavaScript include ESLint, JSLint, and JSHint. - -What Is a Linter? diff --git a/content/roadmaps/100-frontend/content/110-build-tools/readme.md b/content/roadmaps/100-frontend/content/110-build-tools/readme.md deleted file mode 100644 index bab731b2f..000000000 --- a/content/roadmaps/100-frontend/content/110-build-tools/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Build Tools - -Task runners automatically execute commands and carry out processes behind the scenes. This helps automate your workflow by performing mundane, repetitive tasks that you would otherwise waste an egregious amount of time repeating yourself. - -Common usages of task runners include numerous development tasks such as: spinning up development servers, compiling code (ex. SCSS to CSS), running linters, serving files up from a local port on your computer, and many more! - -Free Content -webpack is a static module bundler for modern JavaScript applications -Vite Next Generation Frontend Tooling -Parcel is a zero configuration build tool for the web diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/100-redux.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/100-redux.md deleted file mode 100644 index 673e1ed90..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/100-redux.md +++ /dev/null @@ -1,9 +0,0 @@ -# Redux - -Redux is a predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as [live code editing combined with a time traveling debugger](https://github.com/reduxjs/redux-devtools). - -Free Content -Official Website -Official Getting Started to Redux -Official Tutorial to Learn Redux -Fundamentals of Redux Course from Dan Abramov diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/101-mobx.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/101-mobx.md deleted file mode 100644 index 55e9ca1c2..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/101-mobx.md +++ /dev/null @@ -1,8 +0,0 @@ -# MobX - -MobX is an open source state management tool. MobX, a simple, scalable, and standalone state management library, follows functional reactive programming (FRP) implementation and prevents inconsistent state by ensuring that all derivations are performed automatically. - -Free Content - -MobX Official Website -Intro to MobX Tutorial diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/102-recoil.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/102-recoil.md deleted file mode 100644 index 9511c63f5..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/102-recoil.md +++ /dev/null @@ -1,9 +0,0 @@ -# Recoil - -Recoil is a new state management library built by the Facebook team that simplifies global state management. - -Free Content - -Recoil Official Website -Official Documentation -Learn the basics of Recoil.js diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/readme.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/readme.md deleted file mode 100644 index 7d764fa1d..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/100-react-js/readme.md +++ /dev/null @@ -1,18 +0,0 @@ - - -# React - -React is the most popular front-end JavaScript library for building user interfaces. React can also render on the server using Node and power mobile apps using React Native. - -Free Content -React Website -Official Getting Started -Beta React Docs -The Beginner's Guide to React -React JS Course for Beginners -React Course - Beginner's Tutorial for React JavaScript Library [2022] -Understanding React's UI Rendering Process diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/100-rxjs.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/100-rxjs.md deleted file mode 100644 index 525c5b258..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/100-rxjs.md +++ /dev/null @@ -1,10 +0,0 @@ -# RxJS - -RxJS (Reactive Extensions for JavaScript) is a library for reactive programming using observables that makes it easier to compose asynchronous or callback-based code. - -Free Content - -RxJS Official Website -RxJS Angular Docs -RxJS Crash Course -RxJS Quick Start diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/101-ngrx.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/101-ngrx.md deleted file mode 100644 index 3bcb8a5ff..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/101-ngrx.md +++ /dev/null @@ -1,9 +0,0 @@ -# NgRx - -NgRx is an open source library that provides reactive state management for your Angular applications - -Free Content - -Official Documentation -Angular NgRx Redux Quick Start Tutorial -NgRx Course diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/readme.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/readme.md deleted file mode 100644 index 1fb1159a9..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/readme.md +++ /dev/null @@ -1,13 +0,0 @@ - - -# Angular - -Angular is a component based front-end development framework built on TypeScript which includes a collection of well-integrated libraries that include features like routing, forms management, client-server communication, and more. - -Free Content -Official - Getting started with Angular -Angular for Beginners Course [Full Front End Tutorial with TypeScript] diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/100-pinia.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/100-pinia.md deleted file mode 100644 index 7c9d35c16..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/100-pinia.md +++ /dev/null @@ -1,6 +0,0 @@ -# Pinia - -Pinia is a store library for Vue.js, and can be used in Vue 2 and Vue 3, with the same API, except in SSR and its installation. It allows state sharing between pages and components around the application. As the documentation says, it is extensible, intuitive (by organization), has devtools support (in Vue.js devtools), inferred typed state even in javascript and more. In Pinia you can access, mutate, replace, use getters that works like computed, use actions, etc. The library is recommended by the official Vue.js documentation. - -Free Content -Official Documentation diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/readme.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/readme.md deleted file mode 100644 index 00804ce7d..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/readme.md +++ /dev/null @@ -1,16 +0,0 @@ - - -# Vue.js - -Vue.js is an open-source JavaScript framework for building user interfaces and single-page applications. It is mainly focused on front end development. - -Free Content -Vue.js Website -Official Getting Started -Vue.js Course for Beginners -Vue.js Crash Course -Meet Vue.js, the Flexible JavaScript Framework diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/103-svelte.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/103-svelte.md deleted file mode 100644 index 1b7dcd42e..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/103-svelte.md +++ /dev/null @@ -1,10 +0,0 @@ -# Svelte - -Svelte is a javascript framework that unlike Vue and React does not use vertical DOM diffing but instead knows exactly what and where to update when the state changes. It's mainly focused on frontend and building user interfaces. - -Free Content -Svelte Website -Svelte Documentation -Svelte Course Playlist for beginners -All About Svelte, the Much-Loved, State-Driven Web Framework -Svelte and the Future of Frontend Development diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/104-solid-js.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/104-solid-js.md deleted file mode 100644 index 1e1f4f88d..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/104-solid-js.md +++ /dev/null @@ -1,6 +0,0 @@ -# SolidJS - -Solid is a reactive JavaScript toolkit for building user interfaces without a virtual DOM. To ensure that only the relevant code is executed when a state update occurs, it compiles templates down to real DOM nodes once and wraps modifications into fine-grained reactions. - -Official Website - SolidJS -SolidJS Tutorial diff --git a/content/roadmaps/100-frontend/content/111-pick-a-framework/readme.md b/content/roadmaps/100-frontend/content/111-pick-a-framework/readme.md deleted file mode 100644 index 4afcc16df..000000000 --- a/content/roadmaps/100-frontend/content/111-pick-a-framework/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Pick a Framework - -Web frameworks are designed to write web applications. Frameworks are collections of libraries that aid in the development of a software product or website. Frameworks for web application development are collections of various tools. Frameworks vary in their capabilities and functions, depending on the tasks set. They define the structure, establish the rules, and provide the development tools required. - -Free Content -What is the difference between a framework and a library? - Which JS Framework is best? diff --git a/content/roadmaps/100-frontend/content/112-modern-css/100-styled-components.md b/content/roadmaps/100-frontend/content/112-modern-css/100-styled-components.md deleted file mode 100644 index 3b97bfd7a..000000000 --- a/content/roadmaps/100-frontend/content/112-modern-css/100-styled-components.md +++ /dev/null @@ -1,9 +0,0 @@ -# Styled components - -Styled-components is a CSS-in-JS library that enables you to write regular CSS and attach it to JavaScript components. With styled-components, you can use the CSS you’re already familiar with instead of having to learn a new styling structure. - -Free Content - -Official Website -Official Docs -Styled Components Crash Course & Project diff --git a/content/roadmaps/100-frontend/content/112-modern-css/101-css-modules.md b/content/roadmaps/100-frontend/content/112-modern-css/101-css-modules.md deleted file mode 100644 index d46d4d1cd..000000000 --- a/content/roadmaps/100-frontend/content/112-modern-css/101-css-modules.md +++ /dev/null @@ -1,9 +0,0 @@ -# CSS Modules - -CSS files in which all class names and animation names are scoped locally by default. - -Free Content -Project GitHub Repository -Using CSS Modules In React App -CSS Modules: Why are they great? - diff --git a/content/roadmaps/100-frontend/content/112-modern-css/102-styled-jsx.md b/content/roadmaps/100-frontend/content/112-modern-css/102-styled-jsx.md deleted file mode 100644 index 081d031c9..000000000 --- a/content/roadmaps/100-frontend/content/112-modern-css/102-styled-jsx.md +++ /dev/null @@ -1,8 +0,0 @@ -# Styled JSX - -Styled JSX is a CSS-in-JS library that allows you to write encapsulated and scoped CSS to style your components. The styles you introduce for one component won't affect other components, allowing you to add, change and delete styles without worrying about unintended side effects. - -Free Content - -Getting started -Styled JSX in Next.js: Master Next.js diff --git a/content/roadmaps/100-frontend/content/112-modern-css/103-emotion.md b/content/roadmaps/100-frontend/content/112-modern-css/103-emotion.md deleted file mode 100644 index 2fc83abfb..000000000 --- a/content/roadmaps/100-frontend/content/112-modern-css/103-emotion.md +++ /dev/null @@ -1,8 +0,0 @@ -# Emotion - -Emotion is a library designed for writing css styles with JavaScript. It provides powerful and predictable style composition in addition to a great developer experience with features such as source maps, labels, and testing utilities. Both string and object styles are supported. - -Free Content - -Official Website and Docs -Styled components using emotion in React diff --git a/content/roadmaps/100-frontend/content/112-modern-css/readme.md b/content/roadmaps/100-frontend/content/112-modern-css/readme.md deleted file mode 100644 index 57846abe4..000000000 --- a/content/roadmaps/100-frontend/content/112-modern-css/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# Modern CSS - -The way we write CSS in our modern front-end applications is completely different from how we used to write CSS before. There are methods such as Styled Components, CSS Modules, Styled JSX, Emotion, etc \ No newline at end of file diff --git a/content/roadmaps/100-frontend/content/113-web-components/100-html-templates.md b/content/roadmaps/100-frontend/content/113-web-components/100-html-templates.md deleted file mode 100644 index 23c3306f8..000000000 --- a/content/roadmaps/100-frontend/content/113-web-components/100-html-templates.md +++ /dev/null @@ -1,6 +0,0 @@ -# HTML Templates - -The `