Skip to content

Commit fb6aacf

Browse files
Merge pull request #138 from kamranahmedse/master
Create a new pull request by comparing changes across two branches
2 parents c8e2730 + 0467e59 commit fb6aacf

File tree

28 files changed

+4072
-3899
lines changed

28 files changed

+4072
-3899
lines changed

contributing.md

Lines changed: 56 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,83 @@
22

33
First of all thank you for considering to contribute. Please look at the details below:
44

5-
- [Contribution](#contribution)
6-
- [New Roadmaps](#new-roadmaps)
7-
- [Existing Roadmaps](#existing-roadmaps)
8-
- [Adding Content](#adding-content)
9-
- [Guidelines](#guidelines)
5+
- [New Roadmaps](#new-roadmaps)
6+
- [Existing Roadmaps](#existing-roadmaps)
7+
- [Adding Content](#adding-content)
8+
- [Guidelines](#guidelines)
109

1110
## New Roadmaps
1211

13-
For new roadmaps, submit a roadmap by providing [a textual roadmap similar to this roadmap](https://gist.github.com/kamranahmedse/98758d2c73799b3a6ce17385e4c548a5) in an issue.
12+
For new roadmaps, you can either:
13+
- Submit a roadmap by providing [a textual roadmap similar to this roadmap](https://gist.github.com/kamranahmedse/98758d2c73799b3a6ce17385e4c548a5) in an [issue](https://github.com/kamranahmedse/developer-roadmap/issues).
14+
- Create an interactive roadmap yourself using [our roadmap editor](https://draw.roadmap.sh/) & submit the link to that roadmap in an [issue](https://github.com/kamranahmedse/developer-roadmap/issues).
1415

1516
## Existing Roadmaps
1617

1718
For the existing roadmaps, please follow the details listed for the nature of contribution:
1819

19-
- **Fixing Typos** — Make your changes in the [roadmap JSON file](https://github.com/kamranahmedse/developer-roadmap/tree/master/src/data/roadmaps)
20-
- **Adding or Removing Nodes** — Please open an issue with your suggestion.
20+
- **Fixing Typos** — Make your changes in the [roadmap JSON file](https://github.com/kamranahmedse/developer-roadmap/tree/master/src/data/roadmaps) and submit a [PR](https://github.com/kamranahmedse/developer-roadmap/pulls).
21+
- **Adding or Removing Nodes** — Please open an [issue](https://github.com/kamranahmedse/developer-roadmap/issues) with your suggestion.
2122

22-
**Note:** Please note that our goal is not to have the biggest list of items. Our goal is to list items or skills most relevant today.
23+
**Note:** Please note that our goal is <strong>not to have the biggest list of items</strong>. Our goal is to list items or skills most relevant today.
2324

2425
## Adding Content
2526

2627
Find [the content directory inside the relevant roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/master/src/data/roadmaps). Please keep the following guidelines in mind when submitting content:
2728

2829
- Content must be in English.
29-
- Put a brief description about the topic on top of the file and the a list of links below with each link having title of the URL.
30+
- Maximum of 8 links per topic.
31+
- Follow the below style guide for content.
32+
33+
### How To Structure Content
34+
35+
Please adhere to the following style when adding content to a topic:
36+
37+
```
38+
# Topic Title
39+
40+
(Content)
41+
42+
Visit the following resources to learn more:
43+
44+
- [Description of link](Link)
45+
```
3046

3147
## Guidelines
3248

3349
- <p><strong>Adding everything available out there is not the goal!</strong><br />
34-
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.</p>
50+
51+
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.</p>
52+
3553
- <p><strong>Do not add things you have not evaluated personally!</strong><br />
54+
3655
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?</p>
56+
3757
- <p><strong>Create a Single PR for Content Additions</strong></p>
3858

3959
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](./src/data/roadmaps/) and create a single PR to make it easier for me to review and merge the PR.
40-
- Write meaningful commit messages
41-
- Look at the existing issues/pull requests before opening new ones
60+
61+
- <p><strong>Write meaningful commit messages</strong><br >
62+
63+
Meaningful commit messages help speed up the review process as well as help other contributors in gaining a good overview of the repositories commit history without having to dive into every commit.
64+
65+
(See the following guide on how to write good [commit messages](https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/)).
66+
67+
</p>
68+
- <p><strong>Look at the existing issues/pull requests before opening new ones</strong></p>
69+
70+
### Good vs Not So Good Contributions
71+
72+
<strong>Good</strong>
73+
74+
- New Roadmaps.
75+
- Engaging, fresh content links.
76+
- Typos and grammatical fixes.
77+
- Content copy in topics that do not have any (or minimal copy exists).
78+
79+
<strong>Not So Good</strong>
80+
81+
- Adding whitespace that doesn't add to the readability of the content.
82+
- Rewriting content in a way that doesn't add any value.
83+
- None English content.
84+
- PR's that don't follow our style guide, have no description and a default title.

src/components/Roadmaps/RoadmapsPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,12 +229,12 @@ const groups: GroupType[] = [
229229
{
230230
title: 'React Native',
231231
link: '/react-native',
232-
type: 'role',
232+
type: 'skill',
233233
},
234234
{
235235
title: 'Flutter',
236236
link: '/flutter',
237-
type: 'role',
237+
type: 'skill',
238238
},
239239
],
240240
},

src/data/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
TypeScript extends JavaScript, providing a better developer experience. The benefits of using TypeScript over JavaScript include:
44
- **Static typing** – TypeScript comes with optional static typing and a type inference system, which means that a variable declared with no type may be inferred by TypeScript based on its value.
55
- **Object-oriented programming** – TypeScript supports object-oriented programming concepts like classes, inheritance, etc.
6-
- **ompile time checks** – JavaScript is an interpreted programming language. There is no compilation involved. Hence, the errors get caught during the runtime. Since TypeScript compiles into JavaScript, errors get reported during the compile time rather than the runtime.
6+
- **Compile time checks** – JavaScript is an interpreted programming language. There is no compilation involved. Hence, the errors get caught during the runtime. Since TypeScript compiles into JavaScript, errors get reported during the compile time rather than the runtime.
77
- **Code editor support** – IDEs or code editors like VS Code support autocomplete for a TypeScript codebase. They also provide inline documentation and highlight the errors.
88
- **Integration with existing JavaScript Packages** – You might want to use an npm package written in JavaScript. Since TypeScript is a superset of JavaScript, you can import and use that package. Moreover, the TypeScript community creates and maintains type definitions for popular packages that can be utilized in your project.
99

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
# Linked Lists
22

3-
Linked Lists are a type of data structure used for storing collections of data. The data is stored in nodes, each of which contains a data field and a reference (link) to the next node in the sequence. Structurally, a linked list is organized into a sequence or chain of nodes, hence the name. Two types of linked lists are commonly used: singly linked lists, where each node points to the next node and the last node points to null, and doubly linked lists, where each node has two links, one to the previous node and another one to the next. Linked Lists are used in other types of data structures like stacks and queues.
3+
Linked Lists are a type of data structure used for storing collections of data. The data is stored in nodes, each of which contains a data field and a reference (link) to the next node in the sequence. Structurally, a linked list is organized into a sequence or chain of nodes, hence the name. Two types of linked lists are commonly used: singly linked lists, where each node points to the next node and the last node points to null, and doubly linked lists, where each node has two links, one to the previous node and another one to the next. Linked Lists are used in other types of data structures like stacks and queues.
4+
5+
Learn more from the following links:
6+
7+
- [Linked List Explained: from Basics to Advanced](https://www.freecodecamp.org/news/how-linked-lists-work/)
8+
- [Introduction To Linked List](https://youtu.be/Nq7ok-OyEpg?si=xttaGoYKcoJ09Ln2)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
# Artifcats
1+
# Artifacts

src/data/roadmaps/flutter/flutter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,5 @@ sitemap:
5353
tags:
5454
- 'roadmap'
5555
- 'main-sitemap'
56-
- 'role-roadmap'
56+
- 'skill-roadmap'
5757
---

src/data/roadmaps/nodejs/content/110-nodejs-databases/101-document/101-prisma.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Prisma
22

3-
Prisma is an open source next-generation ORM in the TypeScript ecosystem. It offer a dedicated API for relation filters. It provide an abstraction layer that makes you more productive compared to writing SQL. Prisma currently supports `PostgreSQL`, `MySQL`, `SQL Server`, `SQLite`, `MongoDB` and `CockroachDB`.
3+
Prisma provides an open source next-generation ORM in the TypeScript ecosystem. It offers a dedicated API for relation filters. It provides an abstraction layer that makes you more productive compared to writing SQL. Prisma currently supports `PostgreSQL`, `MySQL`, `SQL Server`, `SQLite`, `MongoDB` and `CockroachDB`.
44

55
Visit the following resources to learn more:
66

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Poetry
2+
3+
Poetry is a dependency management and packaging tool for Python that runs on Windows, macOS, and Linux. Poetry efficiently installs, manages, and updates packages and their dependencies. Poetry seamlessly creates, saves, loads, and switches between project environments on your local computer. It is designed specifically for Python projects, providing a streamlined workflow for managing dependencies, virtual environments, and building packages.
4+
5+
Poetry as a package manager helps you find and install packages. If you need a specific version of a package or a different version of Python, Poetry handles both dependency management and virtual environments effortlessly. With just a few commands, you can set up a completely isolated environment to run a different version of Python or package configuration, while maintaining your usual development environment. Poetry’s lock file ensures consistent installs across different environments, enhancing reproducibility and stability of your projects.
6+
7+
Visit the following resources to learn more:
8+
9+
- [Poetry Docs](https://python-poetry.org/docs/)

src/data/roadmaps/python/content/105-python-package-managers/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ Package managers allow you to manage the dependencies (external code written by
44

55
`PyPI` and `Pip` are the most common contenders but here are some other options available as well:
66

7-
- [**Poetry**](https://python-poetry.org/) : Manages dependencies via isolation
87
- [**PIPX**](https://github.com/pypa/pipx) : Isolation-based app deployment, so you don't have to affect the system or user PIP libraries. It enables you to try individual python CLI tools without affecting other dependencies.

0 commit comments

Comments
 (0)