diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..5854e4ab9 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +# These are supported funding model platforms +github: kamranahmedse diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..770e95f33 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,36 @@ +name: Deployment to GH Pages +on: + push: + branches: [ master ] +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PAT: ${{ secrets.PAT }} + CI: true +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + persist-credentials: false + - uses: actions/setup-node@v1 + with: + node-version: 18 + - run: git config --global url."https://${{ secrets.PAT }}@github.com/".insteadOf ssh://git@github.com/ + - uses: pnpm/action-setup@v2.2.2 + with: + version: 7.13.4 + - name: Setup Environment + run: | + pnpm install + - name: Generate meta and build + run: | + npm run build + touch ./dist/.nojekyll + echo 'roadmap.sh' > ./dist/CNAME + - 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/.github/workflows/update-deps.yml b/.github/workflows/update-deps.yml new file mode 100644 index 000000000..81d985e6a --- /dev/null +++ b/.github/workflows/update-deps.yml @@ -0,0 +1,38 @@ +name: Update dependencies + +on: + workflow_dispatch: # allow manual run + schedule: + - cron: '0 0 * * 0' # every sunday at midnight + +jobs: + upgrade-deps: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v3 + with: + node-version: 18 + - uses: pnpm/action-setup@v2.2.2 + with: + version: 7.13.4 + - name: Upgrade dependencies + run: | + pnpm install + npm run upgrade + pnpm install --lockfile-only + - name: Create PR + uses: peter-evans/create-pull-request@v4 + with: + delete-branch: false + branch: "update-deps" + base: "master" + labels: | + dependencies + automated pr + reviewers: kamranahmedse + commit-message: "chore: update dependencies to latest" + title: "Upgrade dependencies to latest" + body: | + Updates all dependencies to latest versions. + Please review the changes and merge if everything looks good. diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..51c11f9f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# build output +dist/ +.output/ + +# dependencies +node_modules/ + +bin/developer-roadmap + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..22a15055d --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..d64220976 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 000000000..6e4d40c37 --- /dev/null +++ b/README.md @@ -0,0 +1,96 @@ +
+ +
Community driven roadmaps, articles and resources for developers
+
+ + +Adding everything available out there is not the goal!
+ The roadmaps represent the skillset most valuable today, i.e., if you were to enter any of the listed fields today, what would you learn?! There might be things that are of-course being used today but prioritize the things that are most in demand today, e.g., agreed that lots of people are using angular.js today but you wouldn't want to learn that instead of React, Angular, or Vue. Use your critical thinking to filter out non-essential stuff. Give honest arguments for why the resource should be included.
Do not add things you have not evaluated personally!
+ Use your critical thinking to filter out non-essential stuff. Give honest arguments for why the resource should be included. Have you read this book? Can you give a short article?
Create a Single PR for Content Additions
+ If you are planning to contribute by adding content to the roadmaps, I recommend you to clone the repository, add content to the [content directory of the roadmap](./content/roadmaps/) and create a single PR to make it easier for me to review and merge the PR. +- Write meaningful commit messages +- Look at the existing issues/pull requests before opening new ones diff --git a/license b/license new file mode 100644 index 000000000..0cdd8ff0f --- /dev/null +++ b/license @@ -0,0 +1,19 @@ +Everything including text and images in this project are protected by the copyright laws. +You are allowed to use this material for personal use but are not allowed to use it for +any other purpose including publishing the images, the project files or the content in the +images in any form either digital, non-digital, textual, graphical or written formats. +You are allowed to share the links to the repository or the website roadmap.sh but not +the content for any sort of usage that involves the content of this repository taken out +of the repository and be shared from any other medium including but not limited to blog +posts, articles, newsletters, you must get prior consent from the understated. These +conditions do not apply to the readonly GitHub forks created using the Fork button on +GitHub with the whole purpose of contributing to the project. + +Copyright © 2023 Kamran Ahmed+ Roadmaps + Guides + Videos + About + YouTube +
+ +
+
+
+ Community created roadmaps, articles, resources and journeys to help + you choose your path and grow in your career. +
+ ++ The leading DevOps resource for Kubernetes, cloud-native computing, + and the latest in at-scale development, deployment, and management. +
++ DevOps + · + Kubernetes + · + Cloud-Native +
++ {frontmatter.description} +
++ The project is OpenSource, 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month. +
+ + ++ {subtitle} +
+ ++ New + Resources are here, try clicking nodes +
+ + ++ Click roadmap items for resources or visit{' '} + + resources list + + . +
+{description}
+{description}
++ Please check back later or subscribe below. +
+ + ++ {frontmatter.description} +
++ I created roadmap.sh to help developers find their path if they are + confused and help them learn and grow in their career. +
+ ++ roadmap.sh contains community-curated + roadmaps, study plans, paths, and resources for developers. There are + role-based roadmaps, listing skills you should for any given role, as + well as skill-based roadmaps listing items to learn for any given skill. +
++ It started as a set of visual charts on GitHub to guide the developers who are confused about what they should learn + next, but then expanded into interactive roadmaps where you can click + and get resources to learn any given resource, contribute by adding new + roadmaps, suggest changes to existing roadmaps, track your progress as + you follow a roadmap and so on. +
++ The project has a strong community that powers everything on the + website. It is the 6th most starred opensource project on GitHub and gets visited by hundreds of thousands of developers every month. + We also have newsletter with 150,000+ developers. All the roadmaps are + created and reviewed by community and several subject matter experts. + Also, anyone can suggest changes to any roadmap and we have a process + to review and approve them. +
++ Our long-term plan is to make roadmap.sh a go-to place for + developers whenever they plan on learning something new. We started + with roadmaps, guides, videos and other visual content but we plan + on introducing best practices, checklists for certain tasks, quizzes + to test your knowledge and prepare yourself for the interviews, + project ideas to work on while following the roadmaps, public + profiles to share your progress and interact with the other learners + and so on. +
++ The website is built with Astro and Tailwind and is deployed to GitHub pages. The project is fully open-source and the codebase + can be found on GitHub +
++ For new roadmaps, please open an issue with the textual description + of the roadmap in the form of bulleted list. Here is an example contribution of a new roadmap. +
++ Find more details in the contribution docs. +
++ Please have a look at the contribution docs for details. +
++ Please have a look at the contribution docs for details. +
++ 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. +
++ Tweet or send me a message @kamranahmedse or email me at + 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. +
++ roadmap.sh is a community + effort to create roadmaps, guides and other educational content to help + guide the developers in picking up the path and guide their learnings. +
+ ++ Community created roadmaps, guides and articles to help developers + grow in their career. +
++ Register yourself to receive occasional emails about new roadmaps, + updates, guides and videos +
++ Register yourself for occasional updates about roadmaps, guides and + videos. +
+