Compare commits

...

717 Commits

Author SHA1 Message Date
Kamran Ahmed
b944ff6153 Add content directories 2022-08-16 04:22:54 +04:00
Kamran Ahmed
f25f9e68f5 Add blockchain roadmap 2022-08-16 04:11:24 +04:00
HS
95dc9092e9 Add Jaeger content
* Update 100-jaeger.md

* Update content/roadmaps/102-devops/content/107-monitoring/101-application-monitoring/100-jaeger.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-15 16:39:11 +04:00
HS
36f23d4c04 Add links for GitHub actions videos (#1509)
* Update 102-github-actions.md

* Add youtube links for GitHub actions videos

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-15 16:31:43 +04:00
Jozias Martini
a8c48555ef Update bash scripting with very useful links (#1504) 2022-08-15 16:23:10 +04:00
andran777
039b6956cd Add SSH content 2022-08-15 16:22:34 +04:00
andran777
2712da3c5d Add FTP content 2022-08-15 16:22:06 +04:00
andran777
2080277226 Add alert for postgresql dba roadmap 2022-08-15 16:21:28 +04:00
Kamran Ahmed
18253fbc49 Add button to suggest changes on roadmaps 2022-08-15 12:07:02 +04:00
Kamran Ahmed
63d9c968a4 Add button to suggest changes on roadmaps 2022-08-15 12:05:51 +04:00
Kamran Ahmed
92b038ed1d Add content directories for java roadmap 2022-08-15 10:19:10 +04:00
Kamran Ahmed
f1c3de33bb Make Java roadmap interactive 2022-08-15 10:19:10 +04:00
HS
765aef3659 Update 107-tomcat.md (#1503) 2022-08-15 00:50:47 +04:00
Kamran Ahmed
c5387e592b Upcoming roadmap font size change 2022-08-14 19:18:21 +04:00
Kamran Ahmed
b18d3c1a24 Add email collection on the upcoming roadmaps 2022-08-14 18:37:09 +04:00
Kamran Ahmed
c615799f8e Fix golang roadmap link 2022-08-14 18:02:24 +04:00
Kamran Ahmed
dd2ce818d5 Add dedicated roadmap alert on the roadmap nodes (#1502) 2022-08-14 17:55:31 +04:00
Durrez Ahmed
c4b6a787ad Add content for linkerd (#1501) 2022-08-14 17:53:46 +04:00
Durrez Ahmed
0b7da30483 Add content for envoy (#1500)
* Add content for envoy

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-14 14:14:26 +04:00
Archit Sharma
f817c70ff4 Resources added for Docker swarm (#1499)
* Resources added for Docker swarm

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/104-docker-swarm.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-14 12:50:59 +04:00
andran777
9d42636d27 Update 100-osi-model.md (#1497) 2022-08-14 02:42:37 +04:00
HS
2fa155fa60 Add zabbix content 2022-08-14 02:41:51 +04:00
HS
067ea7d054 Add papertrail content
* Update 102-papertrail.md

* Update content/roadmaps/102-devops/content/107-monitoring/102-logs-management/102-papertrail.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-14 02:41:31 +04:00
HS
12630d5bf0 Add graylog content 2022-08-14 02:40:52 +04:00
HS
12914adc79 Add splunk content 2022-08-14 02:40:28 +04:00
Kamran Ahmed
fbfe436483 Change badge color 2022-08-13 23:33:25 +04:00
Kamran Ahmed
bcff470225 Add "New" badge for new videos and guides 2022-08-13 23:32:07 +04:00
Kamran Ahmed
c8ef175c49 Add testing content 2022-08-13 23:07:31 +04:00
Kamran Ahmed
6b75260ff7 Add asynchronous python frameworks content 2022-08-13 19:19:04 +04:00
Kamran Ahmed
c22eb7d387 Add python synchronous frameworks docs 2022-08-13 19:05:29 +04:00
Kamran Ahmed
e8dc7cf5d7 Add package managers resources 2022-08-13 18:45:50 +04:00
Kamran Ahmed
a3cde9a40a Add repo hosting services content 2022-08-13 18:27:37 +04:00
Kamran Ahmed
aac9eaf7d6 Add version control systems resources 2022-08-13 18:27:28 +04:00
Kamran Ahmed
fd8d5fd748 Add python advanced topics resources 2022-08-13 18:25:29 +04:00
Kamran Ahmed
3a926e6b44 Add sorting algorithms content 2022-08-13 17:35:56 +04:00
Paul Marsicovetere
b66c54df30 Add alibaba cloud
* Update 104-albaba-cloud.md

Alibaba Cloud documentation

* Update 104-albaba-cloud.md
2022-08-13 16:07:27 +04:00
Paul Marsicovetere
29ee92c52f Add linode docs
Linode documentation
2022-08-13 16:07:00 +04:00
Paul Marsicovetere
e3a94d4ae0 Add vultr docs
Vultr documentation
2022-08-13 16:06:49 +04:00
Paul Marsicovetere
fd0a81f4d4 Add screen multiplexer
Screen documentation
2022-08-13 16:06:34 +04:00
Paul Marsicovetere
d7b3287b11 Add tmux multiplexer (#1472)
Tmux documentation
2022-08-13 16:06:20 +04:00
Paul Marsicovetere
72d90e0315 Add ps command
ps documentation
2022-08-13 16:06:02 +04:00
Paul Marsicovetere
c8c29ac59e Add top command
top documentation
2022-08-13 16:05:44 +04:00
Paul Marsicovetere
d2efb83c14 Add htop command
htop documentation
2022-08-13 16:05:34 +04:00
Paul Marsicovetere
085524fcbd Add atop command
atop documentation
2022-08-13 16:05:24 +04:00
Paul Marsicovetere
6928a2e91b Add lsof command
lsof cheat sheet
2022-08-13 16:05:10 +04:00
Paul Marsicovetere
4ac41e15fd Add cut command
cut documentation
2022-08-13 16:05:01 +04:00
Paul Marsicovetere
797ed3dc67 Add uniq command content
uniq documentation
2022-08-13 16:04:52 +04:00
Paul Marsicovetere
f176082249 Add tr content
tr documentation
2022-08-13 16:04:40 +04:00
Paul Marsicovetere
1a64743d56 Update 130-nl.md (#1481)
nl documentation
2022-08-13 16:04:08 +04:00
Paul Marsicovetere
833886fd77 Add wc command content
wc documentation
2022-08-13 16:03:46 +04:00
andran777
2cdfed1f83 Add HTTPs content 2022-08-13 16:01:26 +04:00
Archit Sharma
53388ad928 Add datadog resources (#1485) 2022-08-13 16:00:27 +04:00
Durrez Ahmed
b35e90cc72 Add content for service mesh (#1486) 2022-08-13 15:56:21 +04:00
Durrez Ahmed
12056b2d65 Add content for istio (#1487)
* Add content for istio

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-13 15:55:44 +04:00
Durrez Ahmed
ef3cd011e8 Add content for consul (#1488)
* Add content for consul

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-13 15:55:21 +04:00
andran777
55372b280f Add DNS congtent 2022-08-13 15:54:54 +04:00
andran777
02835061b3 Devops Content - Update 105-ssl-tls.md (#1491)
* Update 105-ssl-tls.md

* Fix spacing

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-13 15:54:28 +04:00
Kamran Ahmed
fd11f7180c Add content for data structures and algorithms 2022-08-13 15:52:42 +04:00
Kamran Ahmed
40aa50ef72 Add content for basics section in python roadmap 2022-08-13 03:25:49 +04:00
Kamran Ahmed
03b9b61926 Add missing data structures and algorithms content 2022-08-13 02:48:26 +04:00
Kamran Ahmed
0893df2f62 Add content directories for python roadmap 2022-08-13 02:48:26 +04:00
Kamran Ahmed
1b2367ce30 Make python roadmap interactive 2022-08-13 02:48:26 +04:00
andran777
941c06eda6 Add SCP under network tools (#1462) 2022-08-13 02:19:16 +04:00
andran777
5eade48001 added fmt content (#1465) 2022-08-13 02:16:38 +04:00
Kamran Ahmed
5f8a9ad103 Add styling content 2022-08-13 02:10:46 +04:00
Kamran Ahmed
278d74024b Add state management content 2022-08-13 02:10:42 +04:00
Kamran Ahmed
a5fe79bbdf Add testing content 2022-08-13 02:10:31 +04:00
Kamran Ahmed
41e604e783 Add forms content 2022-08-13 02:10:20 +04:00
Kamran Ahmed
5c8fa5850e Add mobile content 2022-08-13 02:09:58 +04:00
Kamran Ahmed
1a63618fe8 Add API calls content 2022-08-13 02:09:50 +04:00
Kamran Ahmed
bdb3b51073 Add ssg content 2022-08-13 02:09:38 +04:00
Kamran Ahmed
9c0b0a067a Add gatsby content 2022-08-13 02:09:25 +04:00
Kamran Ahmed
a3f3f9a3e3 Add SSR content 2022-08-13 02:09:17 +04:00
Kamran Ahmed
9df2c5c898 Add next.js content 2022-08-13 02:09:06 +04:00
Kamran Ahmed
f1255ad6a8 Add reach router content 2022-08-13 02:08:44 +04:00
Kamran Ahmed
e08567d346 Add react-router content 2022-08-13 02:08:22 +04:00
Kamran Ahmed
8f9a9e0869 Add next.js content 2022-08-13 02:08:14 +04:00
Kamran Ahmed
fc1a3ffd0f Add routing docs 2022-08-12 20:17:29 +04:00
Kamran Ahmed
c6ec0d384a Add react ecosystem 2022-08-12 20:15:39 +04:00
andran777
0b6884d6d0 Add echo, egrep and fgrep content
* added echo content

* added egrep content

* added fgrep content

* Update 133-fgrep.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/127-echo.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/133-fgrep.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-12 20:13:18 +04:00
Kamran Ahmed
70752b26f4 Add portals, error boundaries and fiber architecture 2022-08-12 20:10:40 +04:00
Kamran Ahmed
34fc5a9f7a Add high order components docs 2022-08-12 20:06:12 +04:00
Kamran Ahmed
59bedd2100 Add render props in react 2022-08-12 20:05:07 +04:00
Kamran Ahmed
4bcadc7313 Add react refs docs 2022-08-12 20:03:35 +04:00
Kamran Ahmed
2070483971 Add react context docs 2022-08-12 20:03:23 +04:00
Kamran Ahmed
a16946da6c Add hooks refernce 2022-08-12 20:03:16 +04:00
Kamran Ahmed
04113464fb Add advanced react hooks docs 2022-08-12 20:03:05 +04:00
Kamran Ahmed
d21582ac4d Fix broken group mapping in react roadmap 2022-08-12 19:55:47 +04:00
Kamran Ahmed
dc451e68fc Add the hooks docs 2022-08-12 19:48:32 +04:00
Kamran Ahmed
9e08eb1a98 Add composition vs inheritance docs 2022-08-12 19:28:28 +04:00
Kamran Ahmed
a512aeeaf8 Add lists and keys docs 2022-08-12 19:28:17 +04:00
Kamran Ahmed
d91c8add76 Add component lifecycle docs 2022-08-12 19:28:09 +04:00
Kamran Ahmed
0eba1d36e3 Add conditional rendering content 2022-08-12 19:18:48 +04:00
Kamran Ahmed
b07f40f652 Props vs state content 2022-08-12 19:18:41 +04:00
Durrez Ahmed
5075529030 Add content for networking protocols 2022-08-12 16:50:43 +04:00
Kamran Ahmed
298c76dad2 Update content/roadmaps/101-backend/content/103-learn-a-language/105-javascript.md 2022-08-12 16:50:17 +04:00
Eleni Papanicolas
6e8308506f Add eloquent js to javascript language node.
Hi there! This book has helped me greatly with learning javascript. It is so pleasant to read but highly detailed, eloquently written as the title suggests. The book includes exercises for every chapter, with solutions, multiple projects, and has everything available with its own code sandbox. I have the paperback copy, but I love having all of the extra features with the online version. It is 100% free.
2022-08-12 16:50:17 +04:00
Kamran Ahmed
d2e9bef50f Fix height for the react roadmapgst 2022-08-12 16:49:09 +04:00
Kamran Ahmed
387c6026d4 Add props vs state introduction 2022-08-12 16:49:09 +04:00
Kamran Ahmed
0b8ee5ca78 Add components introduction docs 2022-08-12 16:49:09 +04:00
Kamran Ahmed
40a447e6d3 Add class components introduction 2022-08-12 16:49:09 +04:00
Kamran Ahmed
02185886f5 Add functional components resources 2022-08-12 16:49:09 +04:00
Kamran Ahmed
f655934a03 Add JSX introduction 2022-08-12 16:49:09 +04:00
Kamran Ahmed
6b7d141cd7 Add content for create-react-app 2022-08-12 16:49:09 +04:00
Kamran Ahmed
7ae8d5824d Add content for react fundamentals 2022-08-12 16:49:09 +04:00
Kamran Ahmed
b0592a540b Add content for react 2022-08-12 16:49:09 +04:00
Kamran Ahmed
7ab66a3605 Add content directories for react roadmap 2022-08-12 16:49:09 +04:00
Kamran Ahmed
15306862cb Make react roadmap interactive 2022-08-12 16:49:09 +04:00
HS
a428071ee6 Add Elastic Stack docs
* Update 100-elastic-stack.md

* Update content/roadmaps/102-devops/content/107-monitoring/102-logs-management/100-elastic-stack.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-11 18:34:44 +04:00
Kamran Ahmed
2cadbbee28 Add video link for tree data structure 2022-08-11 16:01:59 +04:00
Archit Sharma
8879e694bf Resources added for HTTP (#1453) 2022-08-11 12:30:15 +04:00
Durrez Ahmed
875b78007d Add content for managing servers (#1457)
* Add content for managing servers

* Update content/roadmaps/102-devops/content/102-managing-servers/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-11 12:29:58 +04:00
andran777
a4eb636bd4 Add content for sed, cat, grep, sort and awk
* awk content with syntax and reference links

* awk content updates

* added sed content

* Added Grep Content

* Updates to Sed content

* Sort Content added

* Update 122-grep.md

* Cat Command

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/120-awk.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/121-sed.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/122-grep.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/123-sort.md

* Update content/roadmaps/102-devops/content/102-managing-servers/101-live-in-terminal/126-cat.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-11 12:29:07 +04:00
Kamran Ahmed
37bf6713b4 Add ecosystem content for vue.js 2022-08-09 23:41:44 +04:00
Kamran Ahmed
4b1fc37946 Fix frontend content 2022-08-09 23:41:33 +04:00
Kamran Ahmed
327b93ae26 Add content for SSR 2022-08-09 23:41:05 +04:00
Kamran Ahmed
a2eec9ff51 Add routing and forms docs content 2022-08-09 23:12:28 +04:00
Kamran Ahmed
355c6f99f7 Add slot transition and transition group docs 2022-08-09 23:02:25 +04:00
Kamran Ahmed
12d5500da6 Add plugin and watcher docs 2022-08-09 23:02:14 +04:00
Kamran Ahmed
f01b8ee272 Add custom events docs 2022-08-09 23:02:04 +04:00
Kamran Ahmed
e6fea586fe Add custom directive docs 2022-08-09 23:01:56 +04:00
Kamran Ahmed
c95ed6400e Add async/teleport components and provide/inject 2022-08-09 22:35:30 +04:00
Kamran Ahmed
503a5f793c Add Composition API docs 2022-08-09 22:32:24 +04:00
Kamran Ahmed
76f33486c8 Add content for computed properties 2022-08-09 21:19:35 +04:00
Kamran Ahmed
4b7ea2cce1 Add content for events handling 2022-08-09 21:18:09 +04:00
Kamran Ahmed
6a83ab598e Add content for forms handling 2022-08-09 21:18:02 +04:00
Kamran Ahmed
960eb225e3 Add content for lifecycle hooks 2022-08-09 21:17:54 +04:00
Kamran Ahmed
095f2b083f Add content for lifecycle hooks 2022-08-09 21:11:44 +04:00
Kamran Ahmed
9b5b53d4d6 Add content for conditional rendering 2022-08-09 21:10:46 +04:00
Kamran Ahmed
5e7a52d981 Add rendering lists docs 2022-08-09 21:10:05 +04:00
Kamran Ahmed
4706a8f37e Add vue.js templates/directives and api styles docs 2022-08-09 21:06:40 +04:00
Kamran Ahmed
c208219564 Add content for components section 2022-08-09 20:53:53 +04:00
Kamran Ahmed
f8a207e8b7 Add single file component resources 2022-08-09 20:47:59 +04:00
Kamran Ahmed
8c5b9ae3ea Add component docs 2022-08-09 20:46:55 +04:00
Kamran Ahmed
229e515580 Add Vue CLI docs 2022-08-09 20:45:29 +04:00
Andrea Mihaljević
0b19be0a14 App Configurations Intro (#1452)
* App Configurations Intro

* Update content/roadmaps/105-vue/content/100-fundamental-topics/105-app-configurations.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-09 20:44:32 +04:00
Kamran Ahmed
d4be159f35 Add vue introduction 2022-08-09 20:34:07 +04:00
Andrea Mihaljević
2ec14cfb48 Vue CLI Overview (#1451)
* Vue CLI Overview

* Update content/roadmaps/105-vue/content/100-fundamental-topics/100-vue-cli.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-09 20:26:29 +04:00
Archit Sharma
c984691429 Resources added for LXC Container (#1448)
* Resources added for LXC Container

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/101-lxc.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-09 19:12:41 +04:00
HS
01c4275315 Add prometheus resources 2022-08-09 19:11:52 +04:00
HS
608c8a2b00 Add grafana resources 2022-08-09 19:10:19 +04:00
Paul Marsicovetere
b2bb10079a Add azure devops resources
Azure DevOps documentation
2022-08-09 12:41:09 +04:00
Paul Marsicovetere
442e460b71 Add drone resources
Drone documentation
2022-08-09 12:40:47 +04:00
Paul Marsicovetere
191f71566c Add AWS CDK resources
* Update 101-aws-cdk.md

AWS CDK Documentation

* Update 101-aws-cdk.md
2022-08-09 12:40:31 +04:00
Paul Marsicovetere
49a82d073a Add cloudformation resources
CloudFormation documentation
2022-08-09 12:40:12 +04:00
Paul Marsicovetere
4a15f59a17 Add pulumi resources
Pulumi documentation
2022-08-09 12:39:48 +04:00
Paul Marsicovetere
1bbbc7d67c Add ansible resource
Ansible documentation
2022-08-09 12:39:28 +04:00
Paul Marsicovetere
5388354493 Add Salt resources
Salt documentation
2022-08-09 12:39:08 +04:00
Paul Marsicovetere
ff063bd0d2 Add puppet resources
Puppet documentation
2022-08-09 12:38:50 +04:00
Paul Marsicovetere
0feba5bed1 Add google cloud docs
Google Cloud documentation
2022-08-09 12:38:25 +04:00
Paul Marsicovetere
f6a721a4d0 Add digitalocean resources
DigitalOcean documentation
2022-08-09 12:38:05 +04:00
Paul Marsicovetere
b21e3a4aed Add azure resources
Azure documentation
2022-08-09 12:37:27 +04:00
Paul Marsicovetere
df394605e6 Update 103-heroku.md
Heroku documentation
2022-08-09 12:37:01 +04:00
Kamran Ahmed
aa3467430e Fix responsiveness flicker on interactive vue roadmap 2022-08-08 20:43:34 +04:00
Kamran Ahmed
2d591b63c4 Fix label direction for API calls section 2022-08-08 20:43:34 +04:00
Kamran Ahmed
0069be44f6 Change color for grouped nodes 2022-08-08 20:43:34 +04:00
Kamran Ahmed
079f491c0f Add interactive page for vue roadmap 2022-08-08 20:43:34 +04:00
Kamran Ahmed
780fb66c8b Add content directories for vue roadmap 2022-08-08 20:43:34 +04:00
Kamran Ahmed
3680e8f52c Add groups and names to roadmap JSON 2022-08-08 20:43:34 +04:00
HS
1676d156e7 Add nagios resources
- Add Nagios website, documentation and knowledge base
2022-08-08 20:09:54 +04:00
Kamran Ahmed
de0894c83c Add vue roadmap link to readme 2022-08-08 18:34:23 +04:00
Kamran Ahmed
d22fb3664f Add Vue developer roadmap (#1433) 2022-08-08 18:30:49 +04:00
Sergey Lanzman
a60d8f312f add ngrep (#1432) 2022-08-08 17:40:07 +04:00
Max
b070cb84bd add: Nomad description (#1431) 2022-08-08 15:49:56 +04:00
Kamran Ahmed
3676721a14 Fix broken build 2022-08-08 12:46:34 +04:00
Paul Marsicovetere
074cbddce5 Add CentOS resources
CentOS documentation
2022-08-08 12:45:23 +04:00
Paul Marsicovetere
b0e29ae801 Add Ubuntu resources
Ubuntu Documentation
2022-08-08 12:44:43 +04:00
Paul Marsicovetere
a55e94e9c6 Add RHEL resources
RHEL documentation
2022-08-08 12:43:37 +04:00
Paul Marsicovetere
beb3bbf81a Add suse linux resources
openSUSE documentation
2022-08-08 12:43:20 +04:00
Paul Marsicovetere
8b941feeab Add fedora resources 2022-08-08 12:42:57 +04:00
Paul Marsicovetere
6e9adaa50d Add debian resource
Debian documentation
2022-08-08 12:42:33 +04:00
Paul Marsicovetere
732b156588 Add FreeBSD resources
FreeBSD documentation
2022-08-08 12:42:12 +04:00
Paul Marsicovetere
de79afa645 Add OpenBSD resources
OpenBSD documentation
2022-08-08 12:41:28 +04:00
Paul Marsicovetere
66576bae01 Add NetBSD resources
NetBSD documentation
2022-08-08 12:40:55 +04:00
Paul Marsicovetere
127b9f58d2 Add jenkins resources
Jenkins Documentation
2022-08-08 12:40:28 +04:00
Paul Marsicovetere
9955095e93 Add bamboo resources
Bamboo documentation
2022-08-08 12:39:55 +04:00
Paul Marsicovetere
303a97a6c7 Add teamcity resources
TeamCity documentation
2022-08-08 12:39:27 +04:00
Archit Sharma
32e8cfafec Resources added for Docker (#1417) 2022-08-07 21:55:49 +04:00
Karan Batra
a068d14efe Suggestion to also add roadmap links for nodes (#1415) 2022-08-06 20:28:51 +04:00
Aroyan
2a076bbb0e feat: add HTML templates resource (#1414) 2022-08-06 11:20:34 +04:00
Aroyan
47f91098fd feat: add web.dev learning form course (#1408) 2022-08-06 11:19:34 +04:00
Pavan S Patil
a58b484716 corrected sentence (#1411) 2022-08-06 11:19:20 +04:00
Aroyan
48580ce0ad feat: add shadow dom resource (#1412) 2022-08-06 11:18:35 +04:00
Aroyan
afbd737496 feat: add custom elements resource (#1413) 2022-08-06 11:18:14 +04:00
Esoterydactyl
b215e2d915 Fix typo 2022-08-05 22:59:07 +04:00
Esoterydactyl
1385e6bc3d Add kubernetes resources
* Update 104-kubernetes.md

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/104-kubernetes.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 22:58:51 +04:00
Ulises Rodriguez
74f9a812fb Add resource in JavaScript 2022-08-05 22:54:34 +04:00
ANI
28f388e5be Added Dynamo DB to the NoSQL DB
Added Dynamo DB to the NoSQL DB
2022-08-05 21:13:15 +04:00
levis8989
413934b6d4 Add bash scripting resources
Greetings friend I share with you some of the bash information that has been useful to me, I hope it will be useful for your roadmap which is great.
2022-08-05 19:57:18 +04:00
Sojin
22f20909fe A Concrete Guide to JavaScript Fetch API (#1400)
Talks about the JavaScript Fetch API and how to use it to make asynchronous HTTP requests. This post goes through Sending a Request to Handling the status codes of the Response. Extremely beginner-friendly, easy-to-understand examples.
2022-08-05 19:56:37 +04:00
Aroyan
ea3cf02ee5 feat: add GitHub Actions resources (#1401)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap

* Add HTTPS content on Backend roadmap

* Add Version Control System description

* Add Jekyll content on Frontend roadmap

* Add VuePress content on Frontend roadmap

* Revert "Add VuePress content on Frontend roadmap"

This reverts commit 05625604c2.

* Add Gatsbyjs content on Frontend roadmap

* Update content/roadmaps/100-frontend/content/120-static-site-generators/101-gatsbyjs.md

* Add content for Gridsome

* Add content for NuxtJS

* Revert "Add content for NuxtJS"

This reverts commit bd533a6ba9.

* Add content for Nuxt.js in Front End roadmap

* feat: add github actions resources

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 19:55:25 +04:00
Kamran Ahmed
c354fa9121 Fix#138 Ungroup certain devops groups 2022-08-05 17:08:35 +04:00
Esoterydactyl
9c0e54262f Update to Infra Provisioning Section (#1380)
* Update readme.md

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:46:43 +04:00
Esoterydactyl
c96f05e245 Update Infrastructure Monitoring (#1381)
* Update readme.md

* Update content/roadmaps/102-devops/content/107-monitoring/100-infrastructure-monitoring/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:45:53 +04:00
Esoterydactyl
46333c42a4 Update Cloud Providers with stub (#1382)
* Update readme.md

* Update content/roadmaps/102-devops/content/108-cloud-providers/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:45:03 +04:00
Esoterydactyl
3bd446577b Update Infrastructure as Code (#1383)
* Update readme.md

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:42:30 +04:00
Esoterydactyl
85d1f33bb0 Add Chef resources
* Update 101-chef.md

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:40:16 +04:00
Esoterydactyl
9b68d69797 Add python resources
Please note that Python 2 is EOL and we should be directing learners exclusively to 3.
2022-08-05 16:37:26 +04:00
Esoterydactyl
ec5c6c592b Add content for containers
* Update 101-containers.md

* Update content/roadmaps/102-devops/content/105-infrastructure-as-code/101-containers.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:36:39 +04:00
Paul Marsicovetere
2b425eaa5e Add nginx resources 2022-08-05 16:34:12 +04:00
Paul Marsicovetere
82faa52d8b Add apache resources
Matching content from https://github.com/kamranahmedse/developer-roadmap/blob/master/content/roadmaps/101-backend/content/122-web-servers/101-apache.md
2022-08-05 16:33:56 +04:00
Paul Marsicovetere
7a1664328b Add caddy resources
Matching content from https://github.com/kamranahmedse/developer-roadmap/blob/master/content/roadmaps/101-backend/content/122-web-servers/102-caddy.md
2022-08-05 16:33:31 +04:00
Paul Marsicovetere
9d5fe1ec76 Add IIS resources
Matching content from https://github.com/kamranahmedse/developer-roadmap/blob/master/content/roadmaps/101-backend/content/122-web-servers/103-ms-iis.md
2022-08-05 16:33:05 +04:00
Paul Marsicovetere
ef77420e8c Add GitLab CI resources
* Update 100-gitlab-ci.md

GitLab CI documentation

* Update 100-gitlab-ci.md

* Update content/roadmaps/102-devops/content/106-ci-cd/100-gitlab-ci.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:32:38 +04:00
Paul Marsicovetere
b4e67232ac Add Travis CI resources
Travis CI documentation
2022-08-05 16:31:16 +04:00
Paul Marsicovetere
27f39b37cf Add Circle CI resources
CircleCI documentation
2022-08-05 16:28:54 +04:00
Kamran Ahmed
05ef7deebb Add aws resources 2022-08-05 16:28:00 +04:00
Paul Marsicovetere
c801c52dda Add terraform content
Terraform documentation
2022-08-05 16:26:21 +04:00
Paul Marsicovetere
4a4ff9c9b4 Add AWS content
* Update 100-aws.md

AWS documentation

* Update content/roadmaps/102-devops/content/108-cloud-providers/100-aws.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:25:23 +04:00
Lorenzo Bloedow
c673672cdc Add content for module bundlers
* Add text and link.

* Update module bundlers

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-05 16:23:19 +04:00
Esoterydactyl
b55772c017 Add content for application monitoring 2022-08-04 22:55:48 +04:00
Esoterydactyl
4ca06bb183 Add networking resources
Simple change to provide more guidance in the networking node.

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-04 22:39:47 +04:00
Kamran Ahmed
bb4c8e7227 Add content for os concepts 2022-08-04 22:36:59 +04:00
Esoterydactyl
671972a5af Add linux resources 2022-08-04 22:36:24 +04:00
Kamran Ahmed
42e6f77a69 Add language content in DevOps roadmap 2022-08-04 18:49:03 +04:00
Kamran Ahmed
e3ecc5ef41 Add content for learn a language 2022-08-04 18:41:40 +04:00
Kamran Ahmed
d70d35feb7 Remove sponsors information from the roadmap pages 2022-08-04 18:34:01 +04:00
Kamran Ahmed
00d189d110 Move resource 2022-08-04 16:56:31 +04:00
Kamran Ahmed
45435ef247 Remove the thanks page 2022-08-04 16:35:36 +04:00
Jon K
259bf45b4e Add content for basic terminal commands
* Update 104-basic-terminal-commands.md

* Update 104-basic-terminal-commands.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-04 16:30:44 +04:00
Jeff Gaboni
18141ac580 Add API brief description (#1196)
* Add API brief description

* Update content/roadmaps/101-backend/content/109-apis/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-04 16:29:22 +04:00
Max Tiessler
b981dc0ecb Add SOAP resources
* Update 102-soap.md

added soap reading

* Update content/roadmaps/101-backend/content/109-apis/102-soap.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-04 16:14:08 +04:00
Wahyu Rahmana
e78a46e016 add learn restfull api tutorial (#1273) 2022-08-04 16:10:21 +04:00
Kamran Ahmed
dafaa96360 Role vs tool distinction in roadmaps 2022-08-04 15:59:52 +04:00
Pieter
a4d946964f Mention short video animation explaining Docker (#1246) 2022-08-04 13:37:12 +04:00
qrav
4fa7486b22 Update OpenID resources
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-04 12:27:23 +04:00
Noah salor
54fbfae7cc Operating systems resources
This is a great series on operating systems in general beginner-friendly

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-04 12:25:46 +04:00
Aroyan
85ff76021f feat: add Lighthouse blog post (#1204)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-04 12:10:54 +04:00
Gabriel Fernandes
5d868989fc Fixed typo in Github workflow (#1247) 2022-08-04 12:06:38 +04:00
Favour Olumese
d08eefe8c3 Update readme.md (#1376)
- Changed "represents" to "represent" because the former is used with singular nouns, while the latter is used with plural nouns (e.g., roadmaps)
- Added commas to "i.e." and "e.g."
- Changed ! to an interrobang (?!)
- Added determiners (the) to "value" and "curator"
2022-08-04 10:57:20 +04:00
Filippo Tessarotto
bfefec4e43 OWASP Security Risks: update link to official Github org (#1291) 2022-08-03 20:06:51 +04:00
Kamran Ahmed
c80a3d546b Add content for pinia 2022-08-03 20:05:35 +04:00
Marcus Vinicius Gomes
0b78983398 Add content for pinia 2022-08-03 20:02:46 +04:00
Deshan D. Abeykoon
ef4cb31517 Added a reading point (#1300)
* Added a reading point

* Update content/roadmaps/100-frontend/content/100-internet/101-what-is-http.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 20:01:10 +04:00
Disney
2973d8c9a5 Fix typo in resource
Change Miss to Mess, typo

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 20:00:11 +04:00
Archit Sharma
2f13b3ddbf Resources added for Open ID (#1316)
* Resources added for Open ID

* Update content/roadmaps/101-backend/content/109-apis/106-authentication/105-openid.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:59:14 +04:00
Adrian Krzemiński
425f656433 Add content for Angular Universal
* Update 100-universal.md

* Update content/roadmaps/100-frontend/content/118-server-side-rendering/101-angular/100-universal.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:58:01 +04:00
Sidra Waseem
aaaeb56dc2 Add Sass Video 2022-08-03 19:57:10 +04:00
Dev Patel
92ba7d5913 Adding Column-DBs content (#1323)
* add column-db content

* Add content to Build-Tools

* Update content/roadmaps/101-backend/content/107-nosql-databases/101-column-databases.md

* Update content/roadmaps/100-frontend/content/110-build-tools/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:54:49 +04:00
Jingning Zhang
29b28e224b Add Redis video (#1324)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:51:58 +04:00
potatoJs
e356f4e1ac Add intro to web servers
* filled it up, with most help from the mdn docs

youtube link added( gud vid ), with the mdn docs

* Update content/roadmaps/101-backend/content/122-web-servers/readme.md

Co-authored-by: CookedPotato-1428 <103060805+CookedPotato-1428@users.noreply.github.com>
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:49:59 +04:00
Aroyan
6be452d80b feat: add resources for Database Normalization (#1327)
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:46:56 +04:00
Touseef Ahmad
d160e1f515 Add PWA APIs content
* Update 100-apis.md

* Update content/roadmaps/100-frontend/content/117-progressive-web-apps/100-apis.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:43:43 +04:00
Osman Furkan
6cc0c84956 Fix jwt website link (#1332) 2022-08-03 19:39:11 +04:00
wrongbyte
e8bba697ab Add content in 108-posix-basics (#1333)
* Add content in 108-posix-basics

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:38:18 +04:00
Evin Weissenberg
7c394ec3f8 Add cookie based authentication content
* Update 100-cookie-based.md

* Update content/roadmaps/101-backend/content/109-apis/106-authentication/100-cookie-based.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:31:57 +04:00
Kamran Ahmed
f705c17523 Add tauri roadmap 2022-08-03 19:29:08 +04:00
ANI
35f844276e Add tauri to frontend roadmap
* Create 103 Tauri.md

Tauri is a great alternative for electron.js. Its super fast and small and secure. A great option every developer must consider.

* Add tauri docs

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:27:57 +04:00
Kamran Ahmed
97cde66096 Add updated devops pdf roadmap 2022-08-03 19:24:22 +04:00
Sojin
e54a44876a Add react native course link
* A Concrete Guide to React Native basics 

I wasn't comfortable following the react native documentation when I was starting out as a web developer (even after learning javascript). this free react native course from udemy was my go-to guide to dive deep into react native basics. After playing with the basic knowledge you will acquire from this course then you'll be able to dive deep into react native documentation. This course structure follows a learn by build format. so you'll not be bored yet you'll be excited to build your first react native app ever.

* Update content/roadmaps/100-frontend/content/121-mobile-applications/100-react-native.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-03 19:22:24 +04:00
Sojin
ef46632587 8 Must Know SEO Best Practices For Developers (#1374)
In these SEO guidelines, the article talks about the importance of Clean Code, Site Architecture, Correct Title Tag, Meta Description, Optimized URLs, Meta Robot Tags, Structured Data, internal linking, Page Loading Speed, Website Responsiveness, and Security. which all of these play a crucial part from an SEO perspective for a web developer.
2022-08-03 19:20:01 +04:00
Kamran Ahmed
1a9a9010e1 Adds interactivity to DevOps roadmap (#1375)
* Make devops roadmap interactive

* Add content skeleton for devops roadmap
2022-08-03 19:18:53 +04:00
Kamran Ahmed
0ef4bfa052 Remove issue templates 2022-08-03 18:51:14 +04:00
Kamran Ahmed
b41ed8726d Update browser lists 2022-08-02 21:25:42 +04:00
Archit Sharma
05f39d2492 Resources added for Server side (#1305)
* Resources added for Server side

* Update Server side caching
2022-08-01 16:39:39 +04:00
Sojin
51afe7b099 A Concrete Guide to Document Object Model (#1370)
I found this ebook 2yrs ago explaining about Document Object Model. it was very helpful in my Journey to programming. A must-read for all DOM manipulators of the web.
2022-08-01 16:37:55 +04:00
Ehsan A. Kian
5e5314707a Add Memcached description and ref (#1371)
* Add Memcached description and ref

* Update content/roadmaps/101-backend/content/110-caching/101-server-side/101-memcached.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 16:37:15 +04:00
Mohammad Saleh
c6aa1df112 fix typo in the thanks section (#1342) 2022-08-01 13:32:43 +04:00
Robert Reinold
d112e59179 initd spelling (#1343)
Co-authored-by: Robby Reinold <robby@superconductive.com>
2022-08-01 13:31:49 +04:00
Ehsan A. Kian
5c0601db32 Add Database normalization description and ref (#1345)
* Add Database normalization description and ref

* Update content/roadmaps/101-backend/content/108-more-about-databases/104-database-normalization.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 13:29:07 +04:00
Ikramul Murad
8f7c7d5e6b Resources added for IO management (#1346)
* Resources added for IO management

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/107-io-management.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 13:25:25 +04:00
Sophia Iroegbu
0bb2397cec Add resources for data replication
* Update 106-data-replication.md

I added a short description and video link that explains data replication within four minutes. Please take a look at it, thanks :)

* Update content/roadmaps/101-backend/content/108-more-about-databases/106-data-replication.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 13:23:22 +04:00
jinxm
a001bfa106 doc: Server side rendering (#1349)
* Update readme.md

* Update readme.md

* Update content/roadmaps/100-frontend/content/118-server-side-rendering/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 13:22:12 +04:00
Kamran Ahmed
28df585d1a Add C++ resources 2022-08-01 13:21:52 +04:00
Jordan
7f54175531 Add Resources for Redis (#1350)
* Add Resources for Redis

* Add Resources for Redis - Official website

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 13:18:11 +04:00
Parisa Khaleghi
de28ff99ef Add C++ resources 2022-08-01 13:17:08 +04:00
Jawad
60b6b997e7 Add description to the type checkers (#1356)
* adding description to the type checkers

* Update content/roadmaps/100-frontend/content/116-type-checkers/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 13:16:17 +04:00
acethical
d2b35ca191 Update 100-redis.md (#1357) 2022-08-01 13:12:46 +04:00
Emerson Castillo
e01fe4df5f Added MDN article (#1359) 2022-08-01 13:09:38 +04:00
Hossein Askari
632ecfd8ff Add timeseries database 2022-08-01 13:08:01 +04:00
Mohammed Habib
84141cc535 Add command line resource
Add command line challenge as an interactive learning tool
2022-08-01 11:32:57 +04:00
Mirodil Kamilov
95c0550e53 Add new PHP resource (video tutorial) (#1362) 2022-08-01 11:30:32 +04:00
yao-shang
e00bb9219d Fixed link to "Journey to HTTP/2" article (#1364)
I noticed a single forwardslash broke the link for the "Journey to HTTP/2" article. Same as commit 9a212dc but for the front-end roadmap.
2022-08-01 11:29:41 +04:00
Sojin
576951014c Added a New resource to Fetch API (#1365)
* Added a New resource to Fetch API

RapidAPI gives an in-depth explanation of fetch API. what it is, How to use it to process API responses, HTTP Methods with Fetch API and How can errors be handled. Suited For Beginners and the content is packed with real-time examples.

* Update content/roadmaps/100-frontend/content/103-javascript/102-learn-fetch-api-ajax-xhr.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 11:29:17 +04:00
Julian Insua
ec2ee855d4 Update gRPC deffinition (#1368)
* Update gRPC deffinition

I thought that some high-level definition of this would be nice.

* Update content/roadmaps/101-backend/content/109-apis/103-grpc.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-08-01 11:19:21 +04:00
AliGaygisiz
cc523dc168 Updated as 6th most starred repo (#1369) 2022-08-01 11:17:18 +04:00
Kamran Ahmed
293c287ae6 Fix broken build 2022-07-14 10:24:56 +05:00
Ehsan A. Kian
0f1ba869ea Update 101-domain-driven-design.md (#1336)
* Update 101-domain-driven-design.md

* Update content/roadmaps/101-backend/content/114-design-and-development-principles/101-domain-driven-design.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-07-14 10:06:48 +05:00
Caleb Joshua
39fc32559e Add 'DNS Records for Newbies' (#1337)
DNS Records for Newbies - How To Manage Website Records - https://www.youtube.com/watch?v=YV5tkQYcvfg
2022-07-14 10:04:33 +05:00
Taeik Lim
b416244be9 Fix typo in journey to http2 (#1326) 2022-07-14 10:02:18 +05:00
Dava
9a212dc65a fix Journey to HTTP/2 link (#1339) 2022-07-14 10:01:57 +05:00
Leonardo Romanini
2939a7e7a1 Add resouce for cqrs and event sourcing (#1307) 2022-06-28 15:02:16 +04:00
Aroyan
fae0bef2f8 fix: remove empty badge at ChakraUI (#1308) 2022-06-28 15:01:58 +04:00
Kamran Ahmed
5d8b14e9c3 Update sponsors section 2022-06-24 01:00:00 +04:00
Taeik Lim
3b0923ce74 Change md5 wiki link to english wiki (#1306) 2022-06-23 20:59:06 +04:00
Kamran Ahmed
ed9cc647ce Remove doppler from sponsors 2022-06-22 13:59:44 +04:00
Arminder Singh
295f404d7b Adding Content and Resources for CSS Frameworks (#1287) 2022-06-22 11:39:35 +04:00
Archit Sharma
786acc072d Resources added for Database indexes (#1301) 2022-06-20 14:57:08 +04:00
Archit Sharma
9c6438726a Resources added for oracle (#1298)
* Resources added for oracle

* Update content/roadmaps/101-backend/content/106-relational-databases/104-oracle.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-06-18 14:13:25 +04:00
Kamran Ahmed
b1fc074416 Remove sponsor 2022-06-18 14:12:28 +04:00
Kamran Ahmed
355f1e610e Update PDFs path 2022-06-14 20:21:44 +04:00
Kamran Ahmed
e5d5043bca Trigger build 2022-06-14 20:12:41 +04:00
Kamran Ahmed
01c4870a63 Update PDFs path 2022-06-14 20:10:39 +04:00
Gabriel Nunes
04b434bdcb Add content for Operating Systems
* Update 101-how-oss-work-in-general.md

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-06-14 16:26:30 +04:00
Alberto Vinícius A. dos Santos
f3366d1fd3 fix: the word "compatible" is written wrong (#1297) 2022-06-14 16:25:17 +04:00
Kamran Ahmed
8eda9bb049 Remove carbon ads 2022-06-14 16:24:53 +04:00
Danil
b845ddad09 Fix wrong content description for Freeze and Seal in JavaScript (#1293) 2022-06-13 11:47:29 +04:00
Archit Sharma
4759604e14 Resources added for Graph databases (#1294) 2022-06-13 11:47:13 +04:00
Archit Sharma
eb29d5348e Resources added for Solr (#1281) 2022-06-07 11:57:28 +04:00
Nico Domino
3de4eaafec Add 'messwithdns.com' julia evans DNS playground (#1283) 2022-06-07 11:56:57 +04:00
helmut a carter
05eefc9e30 corrected grammar: it's -> its (#1284) 2022-06-07 11:56:33 +04:00
Archit Sharma
c9c5349926 Resources added for Neo4j (#1263) 2022-05-24 23:00:07 +04:00
Anu
d47bf04f9e Fixed issue #1217 - missing read label (#1272)
Fixed a typo that was causing missing "read" label on a resource link in frontend developer roadmap, pwa node.
2022-05-24 22:59:45 +04:00
Anu
cd676cacfd Add PWA resource (#1266)
#### What roadmap does this PR target?

- [ ] Code Change
- [x] Frontend Roadmap
- [ ] Backend Roadmap
- [ ] DevOps Roadmap
- [ ] All Roadmaps
- [ ] Guides

#### Please acknowledge the items listed below

- [x] I have discussed this contribution and got a go-ahead in an issue before opening this pull request.
- [x] This is not a duplicate issue. I have searched and there is no existing issue for this.
- [x] I understand that these roadmaps are highly opinionated. The purpose is to not to include everything out there in these roadmaps but to have everything that is most relevant today comparing to the other options listed.
- [x] I have read the [contribution docs](../contributing) before opening this PR.

#### Enter the details about the contribution

I am suggesting the addition of PWA tutorials from MDN Web Docs. Apart from basic introduction to PWAs, it has numerous helpful How-to's such as using client-side storage with IndexedDB and Web Storage API, making mobile-first and installable PWAs, enabling "add to home screen", using notifications and push API etc.
2022-05-21 20:57:46 +04:00
Gustavo Ribeiro
fb79348426 Add scrypt content for back-end roadmap (#1267) 2022-05-21 20:57:31 +04:00
Gustavo Ribeiro
e468763346 Add SSL/TLS content for back-end roadmap (#1268) 2022-05-21 20:57:14 +04:00
Anu
e18df2b24b Add content to PWA peformance node (#1269)
#### What roadmap does this PR target?

- [ ] Code Change
- [x] Frontend Roadmap
- [ ] Backend Roadmap
- [ ] DevOps Roadmap
- [ ] All Roadmaps
- [ ] Guides

#### Please acknowledge the items listed below

- [x] I have discussed this contribution and got a go-ahead in an issue before opening this pull request.
- [x] This is not a duplicate issue. I have searched and there is no existing issue for this.
- [x] I understand that these roadmaps are highly opinionated. The purpose is to not to include everything out there in these roadmaps but to have everything that is most relevant today comparing to the other options listed.
- [x] I have read the [contribution docs](../contributing) before opening this PR.

#### Enter the details about the contribution

I have added a description and several resources that I have used myself and found useful in learning the topic of PWA performance analysis. 
-1st link is from google web.dev and provides several articles on what is speed, how does it matter and how one can measure and optimize the performance of PWAs. 
-2nd link gives detailed explanation on what is PRPL pattern and how it works. 
-3rd resource is from google web.dev and teaches how to implement PRPL pattern to instantly load PWAs
-4th resource is from google web.dev and gives a detailed account about RAIL model and its implementation
-5th resource is from freecodecamp and gives an introduction to Chrome Lighthouse
-6th resource is from PWA training module of Google Developers (Web)
-7th resource is a 5 minute tutorial on how to use Lighthouse to audit your PWAs

I was unable to find a resource on devtools that is specifically catered to PWAs compared to general website performance analysis. Will add later if needed and this contribution gets approval!
2022-05-21 20:56:58 +04:00
Kamran Ahmed
30bc570dc7 Add missing sponsors 2022-05-19 21:51:35 +04:00
Archit Sharma
b18bee3828 Resources added for Linters formatters (#1261) 2022-05-16 19:57:42 +04:00
Nis-chal-Jain
ec6606d9d8 Added Bootstrap Documentation (#1262) 2022-05-16 19:57:20 +04:00
Aroyan
b60e1ee8e8 Add gRPC content on Backend roadmap (#1260)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap

* Add HTTPS content on Backend roadmap

* Add Version Control System description

* Add Jekyll content on Frontend roadmap

* Add VuePress content on Frontend roadmap

* Revert "Add VuePress content on Frontend roadmap"

This reverts commit 05625604c2.

* Add Gatsbyjs content on Frontend roadmap

* Update content/roadmaps/100-frontend/content/120-static-site-generators/101-gatsbyjs.md

* Add content for Gridsome

* Add content for NuxtJS

* Revert "Add content for NuxtJS"

This reverts commit bd533a6ba9.

* Add content for Nuxt.js in Front End roadmap

* feat(content):add gRPC content on backend roadmap

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-05-13 22:34:09 +04:00
amq
8467abf624 Fix line length issue looking as a typo (#1255) 2022-05-11 16:03:19 +04:00
Gustavo Ribeiro
ef706f700b Add SHA family content for the back-end roadmap (#1257) 2022-05-11 15:56:36 +04:00
Paul Marsicovetere
39b87fdab3 Update 104-basic-terminal-commands.md (#1205)
* Update 104-basic-terminal-commands.md

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/104-basic-terminal-commands.md

* Update 104-basic-terminal-commands.md

* Update 104-basic-terminal-commands.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-04-23 01:33:01 +04:00
Andrey Kudinov
44291d828b Remove extra empty line (#1232) 2022-04-23 01:29:35 +04:00
Andrey Kudinov
d81b56d321 Add vue content (#1233) 2022-04-23 01:29:23 +04:00
Andrey Kudinov
2f36199637 Add react content (#1234) 2022-04-23 01:28:58 +04:00
Andrey Kudinov
eff757633e Add angular content (#1235)
* Add content

* Update content/roadmaps/100-frontend/content/118-server-side-rendering/101-angular/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-04-23 01:28:22 +04:00
Max Tiessler
bc5dcee8fb Add SOA resources
added reference model for SOA
2022-04-23 01:27:45 +04:00
Paul Marsicovetere
544a530fcb Update 102-mariadb.md (#1206) 2022-04-19 13:17:22 +04:00
Archit Sharma
289d52d135 Resources added for JSON api (#1208)
* Resources added for JSON api

* Update content/roadmaps/101-backend/content/109-apis/101-json-apis.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-04-19 13:16:40 +04:00
Mochammad Daffa Putra Karyudi
814cf7b137 Update 100-orms.md (#1231)
* Update 100-orms.md

* Update content/roadmaps/101-backend/content/108-more-about-databases/100-orms.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-04-19 13:14:43 +04:00
Himanshu Jangid, हिमांशु जाँगिड़
87c3fb0aa8 Update 101-after-js.md added introduction and links (#1210)
* Update 101-after-js.md added introduction

* Update content/roadmaps/100-frontend/content/118-server-side-rendering/100-react-js/101-after-js.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-04-16 16:50:25 +04:00
Saeed Farahi Mohassel
2d17f12caf updated message-borkers pages (#1219)
* updated message-borkers pages

* Update content/roadmaps/101-backend/content/117-message-brokers/100-rabbitmq.md

* Update content/roadmaps/101-backend/content/117-message-brokers/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-04-16 16:48:28 +04:00
Pieter
b6345f9de1 Add explanation of glue records in DNS (#1222) 2022-04-16 16:33:30 +04:00
Lucas Souza
ff4485a871 Add the Vox video "How Does the Internet Works?" (#1227)
* Add the Vox video "How  Does the Internet Works?"

As the article that describes how the internet works, Vox also have a very intersing video about the topic. It's a great production that covers the whole process among sending and receiving a picture between mobile phones.

* Update content/roadmaps/100-frontend/content/100-internet/100-how-does-the-internet-work.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-04-16 16:31:01 +04:00
Aroyan
1b9d74525a fix: remove colorScheme attribute at React Native video tutorial (#1201) 2022-03-22 11:50:38 +04:00
Archit Sharma
17120b4db0 Resource add -> Containerization vs Virtualization (#1198) 2022-03-21 10:54:36 +04:00
Aroyan
39a17ec525 fix: remove colorScheme for Ionic video tutorial (#1199) 2022-03-21 10:53:48 +04:00
Archit Sharma
1c8efaf136 Resources added for Web Security Knowledge (#1195) 2022-03-19 17:44:02 +04:00
Archit Sharma
bdd9787690 Resources added for MS IIS (#1194)
* Resources added for MS IIS

* Update content/roadmaps/101-backend/content/122-web-servers/103-ms-iis.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-03-19 11:15:28 +04:00
Archit Sharma
47542ddfa3 Resources added for CaddyServer (#1191)
* Resources added for CaddyServer

* Update content/roadmaps/101-backend/content/122-web-servers/102-caddy.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-03-18 10:56:22 +04:00
Aroyan
9e60b1d847 Add Enzyme content on Front End roadmap (#1192) 2022-03-18 10:54:32 +04:00
Marcela Pedrini Duarte
540ec027d7 fix memory management resource type (#1193) 2022-03-18 10:54:16 +04:00
Marcela Pedrini Duarte
fbb9729d01 Update 103-threads-and-concurrency.md (#1185) 2022-03-16 15:24:23 +04:00
Aroyan
04f30d4e2b Add links to ElectronJS on Front End Roadmap (#1187)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap

* Add HTTPS content on Backend roadmap

* Add Version Control System description

* Add Jekyll content on Frontend roadmap

* Add VuePress content on Frontend roadmap

* Revert "Add VuePress content on Frontend roadmap"

This reverts commit 05625604c2.

* Add Gatsbyjs content on Frontend roadmap

* Update content/roadmaps/100-frontend/content/120-static-site-generators/101-gatsbyjs.md

* Add content for Gridsome

* Add content for NuxtJS

* Revert "Add content for NuxtJS"

This reverts commit bd533a6ba9.

* Add content for Nuxt.js in Front End roadmap

* Add links for ElectronJS in Front End Roadmap

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-03-16 15:23:24 +04:00
Archit Sharma
601be80bf3 Resources added for Nginx (#1188)
* Resources added for Nginx

* Update content/roadmaps/101-backend/content/122-web-servers/100-nginx.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-03-16 15:22:36 +04:00
Jack Logan
f3565cf48a Add content - threads and concurrency (#1189) 2022-03-16 15:21:00 +04:00
narasimhauppala
f9b8b8043a update 108-owasp.md (#1161)
* update 108-owasp.md

* Update content/roadmaps/101-backend/content/111-web-security-knowledge/108-owasp.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-03-14 21:20:11 +04:00
Aroyan
e19d202230 Add content for Nuxt.js in Front End roadmap (#1155)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap

* Add HTTPS content on Backend roadmap

* Add Version Control System description

* Add Jekyll content on Frontend roadmap

* Add VuePress content on Frontend roadmap

* Revert "Add VuePress content on Frontend roadmap"

This reverts commit 05625604c2.

* Add Gatsbyjs content on Frontend roadmap

* Update content/roadmaps/100-frontend/content/120-static-site-generators/101-gatsbyjs.md

* Add content for Gridsome

* Add content for NuxtJS

* Revert "Add content for NuxtJS"

This reverts commit bd533a6ba9.

* Add content for Nuxt.js in Front End roadmap

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-03-14 21:18:30 +04:00
Cedrick
cba1419163 Update devops.json - fix typo (#1168) 2022-03-14 21:17:57 +04:00
JAIHARISHAN AV
7110b35b97 Added resources for Basics of SEO in Frontend Development Roadmap (#1169)
* Added resources for Basics of SEO in Frontend Development Roadmap

* Update content/roadmaps/100-frontend/content/101-html/105-seo-basics.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-03-14 21:17:33 +04:00
Marcela Pedrini Duarte
370e343b91 Added Process Management definition and resources (#1182)
* Update 102-process-management.md

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/102-process-management.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-03-14 19:06:49 +04:00
ncn000
9c4ccf27dc Fixed typo in Java and Go meta descriptions (#1183) 2022-03-14 19:05:27 +04:00
Archit Sharma
44f2f12dd9 Resources added for WebSockets (#1184) 2022-03-14 19:04:24 +04:00
Ameer Hamza
90204a07ff n+1 problem article link (#1160) 2022-03-12 22:53:05 +04:00
Koodies
dd1a31d577 Add MongoDB content (#1162)
Co-authored-by: kewei <tan.kewei@stengg.com>
2022-03-12 22:52:37 +04:00
Archit Sharma
9cecf34b1a Resources added for Relay Modern (#1172) 2022-03-12 22:50:51 +04:00
Archit Sharma
0ba8999121 Resources added for OWASP (#1174) 2022-03-12 22:49:28 +04:00
Archit Sharma
c4ef89be3c Resources added for Content Security policy (#1177) 2022-03-12 22:48:50 +04:00
Abhishek Jindal
c58d956224 Add Angular definition and official docs link (#1179) 2022-03-12 22:48:12 +04:00
Himanshu Hiranandani
b141f0bcc2 Adds Basic details for the Open API Spec (#1163)
* Adds Basic details for the Open API Spec

* Removes paid content and adds a free course
2022-03-03 10:11:08 +04:00
Archit Sharma
9e955a61a9 Resources added for GraphQL (#1164) 2022-03-03 10:10:40 +04:00
Archit Sharma
b105b2eb5f Resources added for Apollo (#1167) 2022-03-03 10:10:09 +04:00
Archit Sharma
17d0c3d41b Resources added for Jasmine (#1149)
* Resources added for Jasmine

* Update content/roadmaps/100-frontend/content/115-testing-your-apps/108-jasmine.md

* Update content/roadmaps/100-frontend/content/115-testing-your-apps/108-jasmine.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-25 14:15:24 +04:00
Archit Sharma
a30f1ee9c9 Resources added for Hugo (#1150) 2022-02-25 14:13:15 +04:00
Aroyan
ead5e1d399 Add content for Gridsome (#1151)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap

* Add HTTPS content on Backend roadmap

* Add Version Control System description

* Add Jekyll content on Frontend roadmap

* Add VuePress content on Frontend roadmap

* Revert "Add VuePress content on Frontend roadmap"

This reverts commit 05625604c2.

* Add Gatsbyjs content on Frontend roadmap

* Update content/roadmaps/100-frontend/content/120-static-site-generators/101-gatsbyjs.md

* Add content for Gridsome

* Add content for NuxtJS

* Revert "Add content for NuxtJS"

This reverts commit bd533a6ba9.

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-25 14:12:47 +04:00
Kamran Ahmed
d3f18267a1 Update thanks 2022-02-24 15:35:14 +04:00
Masoumeh Afshar
4eec5b025f Add link to JavaScript concepts 2022-02-21 10:17:40 +04:00
Kamran Ahmed
07cb445d06 Add hash table video link 2022-02-21 03:35:57 +04:00
Archit Sharma
b2c5d6184c Resources added for Ava (#1147) 2022-02-20 14:11:41 +04:00
Archit Sharma
2a57bb91f0 Resources added for Chai js (#1146)
* Resources added for Chai js

* Update content/roadmaps/100-frontend/content/115-testing-your-apps/106-chai.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-19 05:24:10 +04:00
Kamran Ahmed
69ebb08c9e Fix JSON ld response 2022-02-18 20:50:01 +04:00
Kamran Ahmed
1637ef20a6 Fix broken build 2022-02-18 14:18:26 +04:00
Kamran Ahmed
5cbc5e0fdc Update CAP theorem content 2022-02-18 13:07:03 +04:00
Kodey Thomas
8595cc56b5 CAP Theorem Resources (#1099)
* Updated HATEOAS

* Removed Colour Scheme

* CAP Theorem

* Update content/roadmaps/101-backend/content/108-more-about-databases/108-cap-theorem.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-17 18:38:18 +04:00
Himanshu Soni
4199ab05a0 Add cypress content
* Update 102-cypress.md

update documentation

* Update content/roadmaps/100-frontend/content/115-testing-your-apps/102-cypress.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-17 18:36:40 +04:00
Himanshu Soni
f3b6cd87f4 Add content for react testing library
* Update 101-react-testing-library.md

updated Documentation

* Update content/roadmaps/100-frontend/content/115-testing-your-apps/101-react-testing-library.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-17 18:34:27 +04:00
narasimhauppala
3dc6bcd8d6 Add content for memory management
* update 105-memory-management

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/105-memory-management.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-17 18:30:53 +04:00
Archit Sharma
c0b19fec32 Added Resources for Mocha (#1141)
* Added Resources for Mocha

* Update content/roadmaps/100-frontend/content/115-testing-your-apps/105-mocha.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-17 18:19:21 +04:00
Patrick Shushereba
ca092f69f6 [100-github] - Added course to list. (#1143) 2022-02-17 18:18:35 +04:00
Pawel Pisulski
616422b023 Update opensource-banner.tsx (#1144)
Update most starred rank
2022-02-17 16:35:51 +04:00
Kamran Ahmed
0f889af8ab Add doppler logo 2022-02-16 22:27:54 +04:00
Kamran Ahmed
462b532a94 Change doppler logo 2022-02-16 22:26:39 +04:00
Archit Sharma
83611cdbe1 Resources added for VuePress (#1139) 2022-02-15 16:05:10 +04:00
Aroyan
6dbf88d0a6 Add Gatsbyjs content on Frontend roadmap (#1140)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap

* Add HTTPS content on Backend roadmap

* Add Version Control System description

* Add Jekyll content on Frontend roadmap

* Add VuePress content on Frontend roadmap

* Revert "Add VuePress content on Frontend roadmap"

This reverts commit 05625604c2.

* Add Gatsbyjs content on Frontend roadmap

* Update content/roadmaps/100-frontend/content/120-static-site-generators/101-gatsbyjs.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-15 16:04:51 +04:00
Kamran Ahmed
e0c660dcff Add queue data structure video 2022-02-15 04:09:13 +04:00
Kamran Ahmed
0ac5875237 Add queue data structure video 2022-02-15 03:54:29 +04:00
Archit Sharma
35107862cb Added resources for Proton Native (#1134)
* Added resources for Proton Native

* Update content/roadmaps/100-frontend/content/122-desktop-applications/102-proton-native.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-13 21:57:53 +04:00
Archit Sharma
a2a6d7f3cf Added content for Pick a Framework (#1107)
* Added content for Pick a Framework

* Update content/roadmaps/100-frontend/content/111-pick-a-framework/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-12 20:58:24 +04:00
narasimhauppala
6023376452 Add terminal usage resources
* update 100-terminal-usage.md

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/100-terminal-usage.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-12 13:58:18 +04:00
Archit Sharma
c6def19bcd Added resources for Rollup (#1130)
* Added resources for Rollup

* Update content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/102-rollup.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-12 13:56:53 +04:00
Paul Marsicovetere
a18daa7356 Add JWT resources
* Update 104-jwt.md

* Update content/roadmaps/101-backend/content/109-apis/106-authentication/104-jwt.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-12 13:56:09 +04:00
Paul Marsicovetere
9ec90f6abe Add bitbucket resources 2022-02-12 13:54:54 +04:00
Archit Sharma
f4183b7174 Added resources for Parcel (#1133)
* Added resources for Parcel

* Update content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/103-parcel.md

* Update content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/103-parcel.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-12 13:54:21 +04:00
Cabir Bayram
d82ca9b5c4 Add Esbuild to "Esbuild" (#1106)
* Add Esbuild to "Esbuild"

* Update content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/101-esbuild.md

* Update content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/101-esbuild.md

* Update content/roadmaps/100-frontend/content/110-build-tools/101-module-bundlers/101-esbuild.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-09 20:17:24 +04:00
qrav
778d21558d Update 102-bcrypt.md (#1108)
* Update 102-bcrypt.md

* Update 102-bcrypt.md
2022-02-09 20:14:27 +04:00
Ivan Kalashnikov
d529ac3a12 HTML abbreviation – fixed typo. (#1109) 2022-02-09 20:13:52 +04:00
Archit Sharma
869716212f Added content in Standardjs (#1111)
* Added content in Standardjs

* Update content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/102-standardjs.md

* Update content/roadmaps/100-frontend/content/110-build-tools/102-linters-formatters/102-standardjs.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-09 20:13:35 +04:00
Rasyad Subandrio
aab8895998 Add design patterns information
* Update 100-gof-design-patterns.md

Add resources for design patterns.

* Update content/roadmaps/101-backend/content/114-design-and-development-principles/100-gof-design-patterns.md

* Update content/roadmaps/101-backend/content/114-design-and-development-principles/100-gof-design-patterns.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-09 20:12:29 +04:00
Archit Sharma
5f302bf844 Added content for Carlo (#1120) 2022-02-09 20:02:22 +04:00
Paul Marsicovetere
b3db659a9c Update 100-cdn.md (#1123) 2022-02-09 20:01:25 +04:00
qrav
97f2583e0c Update 101-apache.md (#1124) 2022-02-09 20:01:04 +04:00
Paul Marsicovetere
e757f429dc Update 101-oauth.md (#1125) 2022-02-09 20:00:34 +04:00
Kamran Ahmed
258beade8d Add video for stack data structure 2022-02-08 18:17:42 +04:00
Josué Ayala
864c8fb57a Update 102-nuxt-js.md (#1113) 2022-02-06 18:19:05 +04:00
Archit Sharma
00f9a2f523 Added Resources for Less (#1116)
* Added Resources for Less

* Update content/roadmaps/100-frontend/content/109-css-preprocessors/102-less.md

* Update content/roadmaps/100-frontend/content/109-css-preprocessors/102-less.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-06 18:17:42 +04:00
Kamran Ahmed
f32c61b690 Add new sponsors 2022-02-06 18:13:26 +04:00
Cecilia La Place
52a21ba9ac Repaired broken flexbox.io link in Backend Frontend Basics (CSS) (#1100)
* Repaired broken flexbox.io link

* Repaired broken link in CSS README
2022-02-04 10:14:26 +04:00
Kyle Thorpe
8d7911b35d Add content for Monolithic applications (#1102) 2022-02-04 10:14:08 +04:00
Kyle Thorpe
71d0218953 Add content for Microservices (#1103)
Add description and resources for Microservices pattern
2022-02-04 10:13:52 +04:00
Kyle Thorpe
dff393a20b Add content for Serverless (#1104)
Add description and resources for serverless
2022-02-04 10:13:37 +04:00
Archit Sharma
0e83a361e3 Resources added for Styled Components (#1105)
* Resources added for Styled Componenets

* Update content/roadmaps/100-frontend/content/112-modern-css/100-styled-components.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-04 09:58:16 +04:00
Aroyan
6145be9d1b Add Jekyll content on Frontend roadmap (#1095)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap

* Add HTTPS content on Backend roadmap

* Add Version Control System description

* Add Jekyll content on Frontend roadmap
2022-02-03 23:56:04 +04:00
marinerbob
8d25145db6 Update 117-progressive-web-apps topic (#1097) 2022-02-03 23:55:50 +04:00
marinerbob
ff212753f6 Update 102-css topic (#1096) 2022-02-03 23:55:42 +04:00
Archit Sharma
23bb1e18be Added resources for Styled jsx (#1098)
* Added resources for Styled jsx

* Update content/roadmaps/100-frontend/content/112-modern-css/102-styled-jsx.md

* Update content/roadmaps/100-frontend/content/112-modern-css/102-styled-jsx.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-03 23:54:43 +04:00
Archit Sharma
ed991df832 Added Resources for Emotion css (#1094)
* Added Resources for Emotion css

* Update content/roadmaps/100-frontend/content/112-modern-css/103-emotion.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-03 00:20:51 +04:00
marinerbob
26bc8c0e70 Update 102-responsive-design-and-media-queries.md (#1092) 2022-02-02 18:38:33 +04:00
Archit Sharma
0ce8e58f9f Added Resources for Material UI (#1093)
* Added Resources for Material UI

* Update content/roadmaps/100-frontend/content/114-css-frameworks/114-js-first/102-material-ui.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-02 18:38:17 +04:00
Kodey Thomas
b65cf6a026 Updated HATEOAS (#1090)
* Updated HATEOAS

* Removed Colour Scheme
2022-02-02 15:38:58 +04:00
Archit Sharma
bc80ba4194 Added Resources for Radix UI (#1091)
* Added Resources for Radix UI

* Add Radix UI content

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-02-02 15:38:25 +04:00
Uriell
7883875126 Added Resources for HTTP (#1088)
* Adding an extra resource on HTTP

I've recently read this 3-part series on HTTP, mostly focused on HTTP/3 and QUIC, but the first part covers basic concepts about HTTP and how it evolved to HTTP/3 (which is really HTTP/2-over-QUIC) and I find it might be a great reading resource on the topic.

I'm not recommending the 2nd and 3rd parts as they're linked through the 1st one and they diverge a little from the topic of HTTP (going into performance improvements and deployment of QUIC)

* Replicating new HTTP resource to back end roadmap
2022-02-01 10:48:55 +04:00
Archit Sharma
46d53b50eb Resources added for NativeScript framework (#1083) 2022-02-01 10:47:22 +04:00
Archit Sharma
6879b9827b Resources added for Web Assembly (#1084) 2022-02-01 10:47:09 +04:00
Kamran Ahmed
3b8144aafc Add linked list data structure video 2022-01-31 19:51:08 +04:00
Archit Sharma
82af3e2880 Resources added for static site generators (#1087)
* Resources added for static site generators

* Update readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-31 13:36:10 +04:00
Archit Sharma
c791dbb70c Added Resources for Ionic Framework (#1081) 2022-01-30 00:26:49 +04:00
Leandro Morais Azevedo
24559a32ee Added Resources for Interprocess Communication (#1082)
* Added Resources for Interprocess Communication

* Update 106-interprocess-communication.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-30 00:26:11 +04:00
Surya Vamsi
45a66feac9 Remove redundant link (#1077)
The link to the Official Relay Modern website is displayed thrice.
2022-01-29 16:48:23 +04:00
Tóth Bence
272d871d47 Fix badge text for ESLint 2022-01-29 13:24:31 +04:00
Anaxímeno Brito
7cb36ca7ff Update 101-rust.md (#1043)
Added content for the Rust programming language.
Contents: link to the official online book and the rust by example official web page.
2022-01-29 01:28:02 +04:00
Archit Sharma
d55b6927b8 Resources added for RxJS (#1044)
* Resources added for RxJS

* Update content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/100-rxjs.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-29 01:27:27 +04:00
Archit Sharma
c054a3f56c Resources added for NgRx (#1045)
* Resources added for NgRx

* Update content/roadmaps/100-frontend/content/111-pick-a-framework/101-angular/101-ngrx.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-29 01:25:55 +04:00
LJS
a3b7b45ef3 Update 107-eleventy.md (#1047)
* added resource

Not sure if badge text "read" is fitting. 11ty.rocks is more like a resource treasure chest for 11ty starters.
2022-01-29 01:25:19 +04:00
Nomar Gómez Cabreja
a41ee92931 Add content to Css modules (#1048)
* Add content to Css modules

Also I think you guys should change CSS Modules to Alternative Option as is not used much anymore.

* Update 101-css-modules.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-29 01:24:45 +04:00
Archit Sharma
6db1e89628 Resources added for Flow (#1049) 2022-01-29 01:23:12 +04:00
Paul Marsicovetere
7c9159b5b4 Update 100-npm.md (#1052) 2022-01-29 01:22:56 +04:00
Paul Marsicovetere
c6d35aa63c Update readme.md (#1053) 2022-01-29 01:22:28 +04:00
Paul Marsicovetere
3dc11ae726 Update readme.md (#1054) 2022-01-29 01:22:05 +04:00
Paul Marsicovetere
85186c7fe6 Add HTML resource 2022-01-29 01:21:48 +04:00
Paul Marsicovetere
432c6d5ac3 Add CSS resource 2022-01-29 01:21:25 +04:00
Paul Marsicovetere
f876d2f604 Add Git resource 2022-01-29 01:20:59 +04:00
Madukoma Blessed
ba889de406 Add PostgreSQL resources
* Update 100-postgresql.md

* Update 100-postgresql.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-29 01:20:19 +04:00
Tóth Bence
11e8cf4630 Add ESLint resources
* Update 101-eslint.md

* Update 101-eslint.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-29 01:17:34 +04:00
Kamran Ahmed
ba211922b2 Delete slnx.sqlite 2022-01-29 01:14:06 +04:00
Kyle Zamora
50f078a884 Update 113-ci-cd.md (#1064)
* Update 113-ci-cd.md

* Update 113-ci-cd.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-29 01:13:45 +04:00
Paul Marsicovetere
b8c8dfcab1 Update 100-go.md (#1066) 2022-01-29 01:10:07 +04:00
Paul Marsicovetere
a5093ef4e0 Add Ruby resources 2022-01-29 01:09:45 +04:00
Paul Marsicovetere
883c28cf39 Add MySQL Resources 2022-01-29 01:09:23 +04:00
Paul Marsicovetere
b26dbc2a62 Update 103-mssql.md (#1069) 2022-01-29 01:08:48 +04:00
qrav
bb0788e357 Update-100-md5.md (#1072)
* Update-100-md5.md

* Minor typo change

* Update content/roadmaps/101-backend/content/111-web-security-knowledge/100-md5.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-28 14:41:40 +04:00
Paul Marsicovetere
684d3d9c4a Update readme.md (#1070) 2022-01-28 14:26:19 +04:00
qrav
1bdc3ebd14 Update 102-java.md (#1071) 2022-01-28 14:25:30 +04:00
Kamran Ahmed
52fa640dcf Update WorkOS logo background 2022-01-28 02:33:58 +04:00
Kamran Ahmed
2f0ee7f3ae Add WorkOS logo 2022-01-28 02:29:22 +04:00
Kamran Ahmed
178aa830f1 Add WorkOS Logo 2022-01-28 02:26:37 +04:00
Kamran Ahmed
0ca59ab032 Add workos logo 2022-01-28 02:22:31 +04:00
y8l
594ff9ab81 Add Relational Databases Content (#1034)
* Add Relational Databases Content

* Update readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-22 21:28:33 +04:00
Archit Sharma
fd8ba60b02 Resources added for MobX (#1041) 2022-01-22 21:27:12 +04:00
Archit Sharma
ce4e5a21a0 Resources added for Recoil.js (#1042) 2022-01-22 21:26:35 +04:00
Kyle Thorpe
439d622e11 Add content for Docker (#1039)
Add a description and resources for Docker. However, Docker is a big topic and could probably use some more information.
2022-01-22 21:25:58 +04:00
Kyle Thorpe
ceffafd4ae Add content for Functional Testing (#1038)
Add a description and resources for Functional Testing
2022-01-22 21:25:14 +04:00
Kyle Thorpe
1b5900f5d7 Add content for Unit Testing (#1037)
Add a description and resources for Unit Testing
2022-01-22 21:24:52 +04:00
Kyle Thorpe
800263d195 Add content for Integration Testing (#1036)
Add a description and resources for Integration Testing
2022-01-22 21:24:11 +04:00
Kyle Thorpe
38bf960e0d Add content for Testing (#1035)
* Add content for Testing

Add a description and resources for testing

* Update readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-22 21:23:41 +04:00
Vilmar Pavesi Junior
63ad44a90d Add resources for ACID compliance
* Update 101-acid.md

I add some content to ACID on backend roadmap

* Update 101-acid.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-22 14:21:27 +04:00
Kamran Ahmed
f5f238d779 Add sponsor link — Thanks @kevin-bog 🙌 2022-01-22 13:39:30 +04:00
Archit Sharma
0b00f55238 Progressive Web Apps resources added (#1009) 2022-01-22 13:33:29 +04:00
Archit Sharma
622a6f76b0 React Native resources added (#1022)
* React Native resources added

* Update 100-react-native.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-22 13:32:35 +04:00
Paul Marsicovetere
1adecfacde Add HTML resource
Add free course from Codecademy
2022-01-22 13:31:21 +04:00
Paul Marsicovetere
63f68c4b52 Update 101-css.md (#1025)
Adding codecademy CSS courses
2022-01-22 13:31:06 +04:00
Paul Marsicovetere
6064177f6f Add python resources
* Update 106-python.md

Python additions

* Update 106-python.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-22 13:30:45 +04:00
Paul Marsicovetere
7bbb7979c5 Update 105-javascript.md (#1027)
Add codecademy course
2022-01-22 13:29:16 +04:00
Kyle Thorpe
f7738262ef Add content for Version Control Systems (#1028)
Add a description and resources for version control systems
2022-01-22 13:28:41 +04:00
Kyle Thorpe
2e28eebae1 Add content for Repo Hosting Services (#1029)
Add description and resources for repo hosting services
2022-01-22 13:28:06 +04:00
Kyle Thorpe
7b1d664261 Add content for Scaling (#1030)
* Add content for Scaling

- Add description and resources for vertical and horizontal scaling
- Fix typo

* Update 103-horizontal-vertial-scaling.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-22 13:27:12 +04:00
Kyle Thorpe
729db8f40f Add content for Test Driven Development (#1031)
Add description and resources for TDD
2022-01-22 13:24:46 +04:00
Sachin Kotian
a0095a9b96 Update 100-elasticsearch.md (#1011)
* Update 100-elasticsearch.md

* Add elasticsearch details

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-22 10:29:50 +04:00
Kyle Thorpe
d8b7986a6d Description and resources for SOLID (#1021)
Add a description and resources for the SOLID design principles
2022-01-21 18:08:18 +04:00
Archit Sharma
2eab2b77ac Resources added for NPM Scripts (#1012)
* Resources added for NPM Scripts

* Update 100-npm-scripts.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-21 09:27:15 +04:00
Mark Rossetti
d03f91cb01 Add link to Roy Fielding's paper (#1017)
* Add link to Roy Fielding's paper

The backend diagram makes reference to Roy Fielding's dissertation. I thought it would be helpful to have a direct link to his paper for convenience.

* Update 100-rest.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-21 09:24:15 +04:00
Kyle Thorpe
fbb252baf3 KISS description and resources (#1018)
Add description and resources for KISS software development/design principle
2022-01-21 09:21:39 +04:00
Kyle Thorpe
1678bb8910 YAGNI description and resources (#1019)
* YAGNI description and resources

Add description and resources for YAGNI software development/design principle

* Update 105-yagni.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-21 09:21:15 +04:00
Kyle Thorpe
cdbfa8ae9a DRY description and resources (#1020)
* DRY description and resources

Add a description and resources for DRY software development/design principle

* Minor space change

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-21 09:20:16 +04:00
tigor7
7b1f8c32af Fixed 'dns and how it works' button/node (#1014) 2022-01-19 10:25:48 +04:00
Kamran Ahmed
8899bab70d Add getform logo 2022-01-18 13:32:46 +04:00
Kamran Ahmed
d892107e6e Add getform logo 2022-01-18 13:29:52 +04:00
Amjith OS
b8247b6d77 added content in JavaScript (learn a language) in backend roadmap (#1006)
* added content in JavaScript (learn a language) in backend roadmap

* Update node.js resources

Co-authored-by: Amjith <amjithomy@gmail.com>
Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-17 14:53:39 +04:00
Archit Sharma
a912acd6d7 Added Resources for Vue.js (#1008)
* Added Resources for Vue.js

* Update content/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/readme.md

* Update content/roadmaps/100-frontend/content/111-pick-a-framework/102-vue-js/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-17 14:48:05 +04:00
Archit Sharma
084a4d3569 Apollo Description and Content added (#999)
* Apollo Description and Content added

* Update content/roadmaps/100-frontend/content/119-graphql/100-apollo.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-15 21:11:21 +04:00
Truncgil Technology
2f23c69323 Add PHP resources
* Update 103-php.md

* Update content/roadmaps/101-backend/content/103-learn-a-language/103-php.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-15 21:05:36 +04:00
Archit Sharma
be22e8dc6b Added Description and Resources for Relay Modern (#1000)
* Added Description and Resources for Relay Modern

* Update content/roadmaps/100-frontend/content/119-graphql/101-relay-modern.md

* Update content/roadmaps/100-frontend/content/119-graphql/101-relay-modern.md

* Update content/roadmaps/100-frontend/content/119-graphql/101-relay-modern.md

* Update content/roadmaps/100-frontend/content/119-graphql/101-relay-modern.md

* Update content/roadmaps/100-frontend/content/119-graphql/101-relay-modern.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-15 20:55:48 +04:00
LJS
02a0b864a5 Update 107-eleventy.md (#1004)
* Update 107-eleventy.md

* added summary

* added resource

* Update content/roadmaps/100-frontend/content/120-static-site-generators/107-eleventy.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-15 20:50:15 +04:00
LJS
894eda60ad Update 104-accessibility.md (#1002)
* Update 104-accessibility.md

What I did: added new resource item
Why I chose it: Helped me several times to find a) a starting point on how to build an accessible web experience regarding a specific component and b) provides usually links with in-depth examples

* Update content/roadmaps/100-frontend/content/101-html/104-accessibility.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-15 12:27:48 +04:00
Anshul Yadav
48d8086884 🎯Added a resource - (YouTube Video) (#1001)
✌️Added a youtube video as a watchable resource I found very useful and enough. I think knowing that much about how the browsers work is enough for the Front-end journey. The video covered all the important topics from User-Interface to Rendering Engine.
2022-01-15 12:25:48 +04:00
Archit Sharma
efad09de7f GraphQL free Course for Beginners added (#997) 2022-01-14 20:06:09 +04:00
Santiago Bioletto
28e92ac515 Add Os and General KnowKnowledge content at backend roadmap (#998)
* Add Os and General KnowKnowledge content at backend roadmap

* Update content/roadmaps/101-backend/content/102-os-general-knowledge/readme.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-14 20:05:52 +04:00
Kamran Ahmed
a4d5c7c353 Add PostCSS content 2022-01-13 19:47:38 +04:00
Ragul
c2737d8a42 Update 106-cors.md (#995)
* Update 106-cors.md

* Update description

* Add resources for CORS

* Update content/roadmaps/101-backend/content/111-web-security-knowledge/106-cors.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-13 17:40:47 +04:00
Aroyan
f7dd8e71fd Add HTTPS content on Backend roadmap (#996)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap

* Add HTTPS content on Backend roadmap
2022-01-13 17:33:42 +04:00
Vijeth
791c402878 Added a new course (#994) 2022-01-12 17:37:18 +04:00
Karan Shah
8ed9d0c106 Update 100-go.md (#993)
- added a one liner explaining what Go does
- added the Go resources listed on the go.dev website
2022-01-12 10:18:00 +04:00
Aroyan
542b0ce117 Add Git content on Backend roadmap (#992)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap

* Add Git content on Backend roadmap
2022-01-11 22:26:57 +04:00
Aroyan
cacddd10f2 Add GitLab content on backend roadmap (#991)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content

* Add GitLab content at backend roadmap
2022-01-11 15:20:20 +04:00
Md. Jamal Uddin
350d160eb7 Chakra UI resources (#989)
* add react.js resources

* add css resources

* add graphql resources

* add redux resources

* add typescript resources

* add next.js resources

* add chakra-ui resources

* Remove duplicate links

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-11 11:25:01 +04:00
Chris
f22b73bb7a Add official Jest website (#990) 2022-01-11 11:24:00 +04:00
Emmanuel Allison
874437586e Add content for C#
* Update 103-csharp.md

* Fix broken link for resource

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2022-01-10 10:15:01 +04:00
Aroyan
40ab1f6c77 Add GitHub content (#987)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content

* Add GitHub content

* Add GitHub content

* Add GitHub content
2022-01-10 10:13:33 +04:00
Kamran Ahmed
5dce3dd7ab Add links to resources 2022-01-09 13:54:12 +04:00
Kamran Ahmed
13f018893a Add array data structure video 2022-01-09 12:04:54 +04:00
Kamran Ahmed
0400b1d6c0 Add interactivity for the backend roadmap 2022-01-09 11:29:22 +04:00
Aroyan
a0cb4e2568 Add Vite content (#984)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content

* Add Vite content
2022-01-08 11:23:14 +04:00
Aroyan
157dde2bfb Add Prettier content (#982)
* Add Bootstrap CSS content

* Add Bulma CSS content

* Add Prettier content
2022-01-07 10:21:58 +04:00
Aroyan
07ad7bb476 Add Bulma CSS content (#981)
* Add Bootstrap CSS content

* Add Bulma CSS content
2022-01-06 09:47:44 +04:00
Kamran Ahmed
f721af1251 Update dependencies 2022-01-05 19:29:32 +04:00
Aroyan
42ed79e117 Add Bootstrap CSS content (#979) 2022-01-05 19:28:30 +04:00
Justin Irabor
07916250f5 Suggest content to 'Testing your apps' component (#980) 2022-01-05 19:26:30 +04:00
Yankang LI
a7dd2df70e bug fix: added testing files (#978)
Co-authored-by: Loetsli <loetsli@MacBook-Pro-von-Loetsli.local>
2022-01-02 15:38:41 +04:00
Kamran Ahmed
22e0758c6e Update sponsors 2022-01-01 18:53:58 +04:00
Kamran Ahmed
b27a3abc10 Add typescript and next.js resources 2022-01-01 18:38:13 +04:00
Md. Jamal Uddin
b0e5530f24 Add Next.js Resources (#974)
* add react.js resources

* add css resources

* add graphql resources

* add redux resources

* add typescript resources

* add next.js resources
2022-01-01 18:35:24 +04:00
Kamran Ahmed
8da5180062 Update year 2022 2022-01-01 18:34:03 +04:00
Vineet Likhitkar
d82a96b693 Add CSS Preprocessor Resources (#975) 2022-01-01 18:29:32 +04:00
Kamran Ahmed
1277089793 Update typescript resources 2021-12-26 19:11:59 +04:00
Md. Jamal Uddin
623d9398f2 Add TypeScript resources (#973)
* add react.js resources

* add css resources

* add graphql resources

* add redux resources

* add typescript resources
2021-12-26 19:08:44 +04:00
Md. Jamal Uddin
09f92bf601 Redux resources (#956)
* add react.js resources

* add css resources

* add graphql resources

* add redux resources
2021-12-26 14:05:52 +04:00
Kamran Ahmed
3ae18b3d30 Add vuex resources 2021-12-26 14:05:34 +04:00
Hassan TAJIRI
c498adc530 Update 100-vuex.md (#963)
Vuex quick description
2021-12-26 14:03:13 +04:00
Kamran Ahmed
399c548570 Add typescript resources 2021-12-26 13:54:53 +04:00
sehajanand
acfca9f169 Update 100-typescript.md (#957) 2021-12-26 13:48:05 +04:00
Jody Zhou
0312a89d8c Updated the Electron section (#965)
* Updated the Electron section

Updated the Electron section in the front end road map

* Update 100-electron.md

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2021-12-22 00:10:02 +04:00
Eihab Khan
5e441f647b Added [course] Flexbox learning resource 2021-12-22 00:09:20 +04:00
Kamran Ahmed
8be9eb6101 Add translations link 2021-12-21 14:42:02 +04:00
Kamran Ahmed
0c799cb43b Update sponsors information 2021-12-20 14:31:18 +04:00
Kamran Ahmed
6fd69d71e0 Add doppler logo 2021-12-18 12:12:48 +04:00
Kamran Ahmed
0bb93aeef0 Add data structures video link 2021-12-12 22:17:39 +01:00
Felipe Sousa
fb55ccc5cf Add content to "Webpack" 2021-12-12 20:20:42 +01:00
Kamran Ahmed
8054ac8d0e Add JS course link 2021-12-11 20:04:10 +01:00
Kamran Ahmed
6846ed12f2 Add CSS architecture resources 2021-12-11 03:05:08 +01:00
Kamran Ahmed
684b9667a4 Fix broken license link 2021-12-11 02:54:16 +01:00
Kamran Ahmed
a35c7ffaf0 Add package managers content 2021-12-11 02:49:22 +01:00
Kamran Ahmed
8127fbb4ee Add security content for cors and owasp 2021-12-11 02:25:41 +01:00
Kamran Ahmed
7afa06fc95 Add web security resources 2021-12-11 02:17:47 +01:00
Kamran Ahmed
8991d2c934 Add keywords for roadmapsg 2021-12-11 01:39:36 +01:00
Kamran Ahmed
39542ffa37 Add resources for git and version control systems 2021-12-11 01:26:31 +01:00
Kamran Ahmed
6e05d1c992 Add JavaScript concepts resources 2021-12-11 01:02:26 +01:00
Kamran Ahmed
12fc4e671e Add Modern JavaScript resources 2021-12-11 00:24:55 +01:00
Kamran Ahmed
3f7d706f04 Add Fetch API resources 2021-12-11 00:19:14 +01:00
Kamran Ahmed
712d65d0e6 Add DOM and JavaScript resources 2021-12-10 23:31:26 +01:00
Kamran Ahmed
5f44649f5e Add sass links 2021-12-10 23:06:12 +01:00
sehajanand
873be4ad85 Update 100-sass.md (#955)
* Update 100-sass.md

* Update title for link

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2021-12-10 23:00:56 +01:00
sehajanand
8df92be9bc Update 104-accessibility.md (#953)
* Update 104-accessibility.md

* Append the resource

* Update badge text

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2021-12-10 22:56:16 +01:00
Kamran Ahmed
38a83316b1 Add responsive web design content 2021-12-10 19:45:36 +01:00
Kamran Ahmed
02826f10d3 Add SEO content 2021-12-10 19:38:20 +01:00
Kamran Ahmed
aa7413ce7a Add pinterest domain verification 2021-12-10 19:14:08 +01:00
Kamran Ahmed
fb8f14a0db Add support for rich snippets 2021-12-10 15:15:13 +01:00
Kamran Ahmed
220efadfaa Add rel=nofollow for resource links 2021-12-10 14:39:47 +01:00
Kamran Ahmed
77a9c31c6b Fix bad CLS score for frontend roadmapg 2021-12-10 14:21:51 +01:00
Kamran Ahmed
fb5a7fb09f Add making layouts and html best practices links 2021-12-10 14:02:17 +01:00
Kamran Ahmed
6eb10b4cfd Update accessibility resources 2021-12-10 13:54:26 +01:00
Samarth Gupta
de2b672760 Added Accessibility content (#949) 2021-12-10 13:52:33 +01:00
Md. Jamal Uddin
fe716af733 add graphql resources (#950)
* add react.js resources

* add css resources

* add graphql resources
2021-12-10 13:51:25 +01:00
Kamran Ahmed
fdacc02dcf Add forms and validations resources 2021-12-10 13:50:14 +01:00
Johan Melin
867e3f2a8c Update 102-forms-and-validations.md
Added information and link.
2021-12-10 13:33:32 +01:00
Kamran Ahmed
6e451ef5cf Add JavaScript and VCS content and fix rendering issue 2021-12-10 00:52:40 +01:00
Kamran Ahmed
56816d15f8 Add OOCSS content 2021-12-10 00:28:53 +01:00
Kamran Ahmed
15669982d9 Update resource styling for BEM 2021-12-10 00:24:50 +01:00
Kamran Ahmed
88c6b47d01 Update dependencies 2021-12-10 00:21:50 +01:00
Lucas Vargas
ed84e905ed Update 100-bem.md
Add info and resources of BEM
2021-12-10 00:21:28 +01:00
Kamran Ahmed
3d0153b2fe Fix invalid marking of done nodes 2021-12-09 23:13:37 +01:00
Kamran Ahmed
a174590424 Add semantic HTML section 2021-12-09 23:07:54 +01:00
Kamran Ahmed
a155832f69 Add flutter courses 2021-12-09 22:56:25 +01:00
Lucas Vargas
75eb3a0237 Update 102-flutter.md
Add links with more information about Flutter and tutorials
2021-12-09 22:56:25 +01:00
Kamran Ahmed
a1576fd348 Fix multiple group marking as done 2021-12-09 22:42:44 +01:00
Kamran Ahmed
8a296d99c4 Add CSS resources 2021-12-09 22:38:04 +01:00
Kamran Ahmed
10f9043516 Add CSS resources 2021-12-09 22:37:27 +01:00
Kamran Ahmed
37155e7d3c Add CSS resources 2021-12-09 22:32:53 +01:00
Kamran Ahmed
ff7d24d725 Update style of resources 2021-12-09 22:32:53 +01:00
Eihab Khan
7794386573 Added CSS Flexbox learning resource 2021-12-09 22:32:53 +01:00
Md. Jamal Uddin
952884ec99 add CSS resources (#946)
* add react.js resources

* add css resources
2021-12-09 22:32:31 +01:00
Kamran Ahmed
22fa464cca Add CSS resources 2021-12-09 20:54:06 +01:00
Kamran Ahmed
66f939f361 Update style of resources 2021-12-09 20:54:06 +01:00
Kamran Ahmed
25b6700812 Bump roadmap in GitHub ranking 2021-12-09 20:54:06 +01:00
Kamran Ahmed
7c53be8892 Change finished node marking 2021-12-09 20:54:06 +01:00
Kamran Ahmed
be61c144e0 Change finished node marking 2021-12-09 20:54:06 +01:00
Kamran Ahmed
537ffc365e Marking progress on roadmap 2021-12-09 20:54:06 +01:00
Kamran Ahmed
dd7306cd6d Make edit page less attention grabbing 2021-12-09 20:54:06 +01:00
Kamran Ahmed
ed1c8e3709 Update banner colors 2021-12-09 20:54:06 +01:00
Eihab Khan
36e2e95ab9 Added CSS Flexbox learning resource 2021-12-09 18:48:45 +01:00
Kamran Ahmed
7309e9640c Fix link on the frontend roadmap 2021-12-09 18:48:45 +01:00
Kamran Ahmed
be17f594fe Bump roadmap in GitHub ranking 2021-12-09 18:17:02 +01:00
Kamran Ahmed
06329b27c1 Change finished node marking 2021-12-09 18:09:32 +01:00
Kamran Ahmed
0e05128980 Change finished node marking 2021-12-09 18:05:01 +01:00
Kamran Ahmed
9a22a457f5 Marking progress on roadmap 2021-12-09 16:39:09 +01:00
Kamran Ahmed
985da9ae30 Make edit page less attention grabbing 2021-12-09 13:30:55 +01:00
Kamran Ahmed
47e2a9b968 Update banner colors 2021-12-09 13:25:01 +01:00
Kamran Ahmed
074adee8f0 Fix link on the frontend roadmap 2021-12-08 20:05:32 +01:00
Kamran Ahmed
9f68c096a9 Add github resources 2021-12-08 19:52:14 +01:00
Kamran Ahmed
e4654022f0 Fix positioning for frontend roadmaps 2021-12-08 19:40:34 +01:00
Kamran Ahmed
c4291394fe Add react resources 2021-12-08 19:40:34 +01:00
Kamran Ahmed
9b29d240e3 Add tailwind CSS content 2021-12-08 19:40:34 +01:00
Alen Abraham
d09c91247e feat: added github learning resources 2021-12-08 19:40:24 +01:00
Md. Jamal Uddin
51895be81e add react.js resources 2021-12-08 19:27:52 +01:00
Ahmad Moghazi
a79b65a1b4 Add interactive content for tailwind-css 2021-12-08 19:12:00 +01:00
Kamran Ahmed
3fe41d2071 Change hover interactions for mobile 2021-12-08 19:10:44 +01:00
Kamran Ahmed
b25111415f Change homepage roadmap items interaction 2021-12-08 18:59:56 +01:00
Kamran Ahmed
0c3ea386f5 Update sponsors 2021-12-08 18:55:09 +01:00
Kamran Ahmed
d1f6951da2 Fix roadmap responsivness 2021-12-08 16:22:21 +01:00
Kamran Ahmed
7ac1dd9b9c Add interactive frontend roadmap version 2021-12-08 14:59:16 +01:00
Kamran Ahmed
ba21172d20 Add interactive frontend roadmap version 2021-12-08 14:47:05 +01:00
Kamran Ahmed
93b538f4e1 Add interactive frontend roadmap version 2021-12-08 14:27:39 +01:00
Kamran Ahmed
7cac02f4b4 Update resources 2021-12-08 14:06:56 +01:00
Kamran Ahmed
42e98e9cc6 Add interactive button 2021-12-08 14:00:12 +01:00
Kamran Ahmed
0221964362 Add interactive button 2021-12-08 13:48:08 +01:00
Ryan Williams
cbf0b2c496 Fix DBA Link that 404s 2021-12-07 23:35:17 +01:00
Kamran Ahmed
1ff9c11361 Refactor and add json url 2021-12-07 14:13:13 +01:00
Kamran Ahmed
b681aaa52e Refactor and add json url 2021-12-07 14:12:40 +01:00
Kamran Ahmed
8a99ecbecd Refactor and add json url 2021-12-07 14:05:13 +01:00
Kamran Ahmed
82456021ad Refactor roadmap header 2021-12-07 13:10:17 +01:00
Kamran Ahmed
6eba4a2afd Add resources for internet and http 2021-12-06 22:55:09 +01:00
Kamran Ahmed
c3704107a3 Add interactive roadmap error handling and loading 2021-12-06 22:18:57 +01:00
Kamran Ahmed
102cd8885c Add interactive roadmap error handling and loading 2021-12-06 22:18:19 +01:00
Kamran Ahmed
8259a83921 Add loader screen 2021-12-06 21:54:14 +01:00
Kamran Ahmed
c1ecf9d8a5 Add doppler logo 2021-12-06 15:24:43 +01:00
Kamran Ahmed
381801120e Add doppler logo 2021-12-06 14:46:27 +01:00
Kamran Ahmed
fe458e0790 Unbind window listeners on content drawer 2021-12-05 02:46:27 +01:00
Kamran Ahmed
a42e92781a Styling for badge links 2021-12-05 02:38:42 +01:00
Kamran Ahmed
8255f69257 Fix broken build 2021-12-05 02:04:20 +01:00
Kamran Ahmed
30e6c15ddb Add resource group 2021-12-05 02:03:07 +01:00
Kamran Ahmed
3eb13043ce Interactive frontend roadmap with contribution links 2021-12-05 01:50:05 +01:00
Kamran Ahmed
16b2019d06 Fix drawer size 2021-12-05 00:44:17 +01:00
Kamran Ahmed
a0a5e74281 Fix pinch zoom not working on resources 2021-12-04 20:27:35 +01:00
Kamran Ahmed
5881c27526 Fetch roadmap json for interactive version 2021-12-04 20:11:24 +01:00
Kamran Ahmed
c16bed02ca Fix drawer width 2021-12-04 19:53:52 +01:00
Muhammad Asad Jivani
37432582c0 fix: link to golang road map. 2021-12-04 16:05:24 +01:00
Kamran Ahmed
0d71b2b1e6 Add drawer for interactive roadmap 2021-12-04 16:04:31 +01:00
Kamran Ahmed
ff3d0489cc Group page and content loading 2021-12-04 14:04:44 +01:00
Kamran Ahmed
a94af0ec14 Add group name to content dirs 2021-12-04 14:04:23 +01:00
Kamran Ahmed
4f1d4feff6 Add breadcrump on roadmap page 2021-12-04 13:11:20 +01:00
Kamran Ahmed
7bc3b4a0f3 Fix group page 2021-12-04 12:43:29 +01:00
Kamran Ahmed
9d9a6506cc Update roadmap 2021-12-04 12:41:57 +01:00
Kamran Ahmed
3b47cd3542 Add group age 2021-12-04 12:21:06 +01:00
Kamran Ahmed
f500d49275 Refactor roadmap page logic 2021-12-03 20:44:49 +01:00
Kamran Ahmed
098303b78b Refactor roadmap page logic 2021-12-03 19:58:25 +01:00
Kamran Ahmed
bf56db60bc Add logic for content file path generation 2021-12-03 15:01:23 +01:00
Kamran Ahmed
cdc362625a Add logic for content file path generation 2021-12-03 14:36:31 +01:00
Kamran Ahmed
2ec335edc8 Rename content path to landing path 2021-12-03 14:16:41 +01:00
Kamran Ahmed
064f97108e Update repository link 2021-12-02 18:20:48 +01:00
Kamran Ahmed
7d0bc2e8a2 Add website link 2021-12-02 18:10:50 +01:00
Kamran Ahmed
ea4de11e30 Update sponsors section 2021-12-02 17:53:30 +01:00
Kamran Ahmed
4e7d8512cc Update readme 2021-12-02 17:52:13 +01:00
Kamran Ahmed
91ef32722a Update deployment workflow 2021-12-02 17:47:15 +01:00
Kamran Ahmed
87fba80759 Trigger build 2021-12-02 17:46:27 +01:00
Kamran Ahmed
0acd1d1fcd Trigger build 2021-12-02 17:42:17 +01:00
Kamran Ahmed
5228fe936f Update badges 2021-12-02 17:37:39 +01:00
Kamran Ahmed
b221016269 Remove twitter link 2021-12-02 17:36:46 +01:00
Kamran Ahmed
f7d1d61528 Add license and code of conduct 2021-12-02 17:32:51 +01:00
Kamran Ahmed
1467865e45 Update readme 2021-12-02 17:27:00 +01:00
Kamran Ahmed
17e2ffd110 Update readme 2021-12-02 17:24:31 +01:00
Kamran Ahmed
d177a13aa6 Update readme 2021-12-02 17:22:01 +01:00
Kamran Ahmed
1afe684699 Add roadmap path generation 2021-12-02 16:57:13 +01:00
Kamran Ahmed
1fbdf68573 Add interactive roadmap setup 2021-12-01 22:53:40 +01:00
Kamran Ahmed
3feea57204 Add eventual consistency video 2021-11-30 23:52:03 +01:00
Kamran Ahmed
00d8877a12 Add sponsors 2021-11-30 23:47:49 +01:00
Kamran Ahmed
67c4407d30 Add docs for roadmap content 2021-11-27 21:05:03 +01:00
Kamran Ahmed
69679addc3 Add roadmap content skeleton generation command 2021-11-27 20:44:24 +01:00
Kamran Ahmed
272eafa013 Add roadmap content skeleton generation command 2021-11-27 20:10:26 +01:00
Kamran Ahmed
a19b4da20d Add content dir setup command 2021-11-27 19:12:37 +01:00
Kamran Ahmed
47349f00c2 Update video titles 2021-11-27 15:17:36 +01:00
Kamran Ahmed
dbedae78ca Fix broken hover state on mobile 2021-11-27 12:46:24 +01:00
Kamran Ahmed
5733476fd9 Update frontend roadmap files 2021-11-27 02:13:16 +01:00
Kamran Ahmed
5c17deddf5 Add SSH, TLS, SSL video 2021-11-25 21:35:36 +01:00
Kamran Ahmed
f1b5357358 Update sticky banner color 2021-11-22 17:34:42 +01:00
Kamran Ahmed
6a319fe6cc Update roadmap block color 2021-11-22 17:30:10 +01:00
Kamran Ahmed
269e9eb90b Upcoming roadmaps design 2021-11-22 16:53:12 +01:00
Kamran Ahmed
844a38e739 Redesign homepage 2021-11-22 16:49:32 +01:00
Kamran Ahmed
6c8b899a35 Add grouping to frontend roadmap 2021-11-19 18:25:23 +01:00
Kamran Ahmed
f246b065a1 Update dependencies 2021-11-19 14:01:14 +01:00
Kamran Ahmed
97826210fa Add sponsors 2021-11-15 14:25:04 +01:00
Kamran Ahmed
ff5706c82f Add video links 2021-11-15 14:05:00 +01:00
Kamran Ahmed
609cce403a Update sitemap 2021-11-05 21:36:16 +01:00
Kamran Ahmed
87ad491b2c Fix spelling mistakes 2021-11-03 20:30:27 +01:00
Kamran Ahmed
ef25a14af1 Upgrade dependencies 2021-10-28 23:51:16 +02:00
Kamran Ahmed
3ac1de7fb0 Rearrange sections on homepage 2021-10-27 00:34:56 +02:00
Kamran Ahmed
09e8796159 Add big-o notation video 2021-10-27 00:32:15 +02:00
Kamran Ahmed
0d3c3eea11 Add java developer roadmap title 2021-10-24 12:30:43 +02:00
Kamran Ahmed
992b6990a3 Add pdf URL 2021-10-23 01:31:02 +02:00
Kamran Ahmed
ffa18538ff Add pdf URL 2021-10-23 01:30:45 +02:00
Kamran Ahmed
65307e7cc1 Add yaml video link 2021-10-23 01:26:32 +02:00
Kamran Ahmed
46d9fd66f3 Add java developer roadmap 2021-10-23 01:24:15 +02:00
Kamran Ahmed
2344e6c4c3 Add sponsor link 2021-10-10 20:02:14 +02:00
Kamran Ahmed
8899b0d196 Add video for floating point math 2021-10-10 16:01:42 +02:00
Kamran Ahmed
d4613330f4 Update sponsors list 2021-10-09 18:38:58 +02:00
Kamran Ahmed
283632713a Add sponsor link 2021-10-09 18:33:36 +02:00
Kamran Ahmed
d3b96d20cc Enable carbon ads 2021-10-09 18:31:55 +02:00
Kamran Ahmed
374e8a04fd Add cap theorem video 2021-10-05 08:05:24 +02:00
Kamran Ahmed
f1b6d13928 Add youtube header on roadmap pages 2021-10-05 07:55:44 +02:00
Kamran Ahmed
6a4af77ba8 Compress roadmaps images 2021-10-01 11:19:38 +02:00
Kamran Ahmed
a2db93873b Redirect youtube videos to youtuube 2021-10-01 10:59:46 +02:00
Kamran Ahmed
f523b077a4 Update go roadmap title 2021-09-30 23:22:21 +02:00
Kamran Ahmed
412eaa004e Add golang pdf download 2021-09-30 23:20:34 +02:00
Kamran Ahmed
8e71b3c448 Add go developer roadmap 2021-09-30 23:10:41 +02:00
Kamran Ahmed
12030deeea Add sponsor info 2021-09-29 17:47:37 +02:00
Kamran Ahmed
5a89ecf2d8 Add angular developer roadmap 2021-09-29 17:36:57 +02:00
Kamran Ahmed
991d344a77 Add python roadmap pdf 2021-09-29 14:51:58 +02:00
Kamran Ahmed
cc06819a50 Update python roadmap 2021-09-27 20:34:46 +02:00
Kamran Ahmed
eb1beecfa7 Add python roadmap 2021-09-27 11:32:20 +02:00
Kamran Ahmed
135ef6a11a Fix date for proxy-servers guideg 2021-09-27 10:52:29 +02:00
Kamran Ahmed
e902c062fc Fix z-index issue on the ad 2021-09-26 22:04:14 +02:00
Kamran Ahmed
685c402f28 Add python roadmap 2021-09-26 22:02:59 +02:00
Kamran Ahmed
c88e04f809 Update project files 2021-09-26 20:47:26 +02:00
Kamran Ahmed
d2167555da Move content/project to public 2021-09-26 20:36:57 +02:00
Kamran Ahmed
3f61854ccc Add acid video 2021-09-26 17:09:58 +02:00
Kamran Ahmed
9ca201709d Add react-query to API calls in react roadmap 2021-09-26 16:48:07 +02:00
Kamran Ahmed
0c3486df37 Remove tweet links from guides 2021-09-26 09:47:47 +02:00
Kamran Ahmed
27d3704390 Remove sysadmin roadmap 2021-09-25 23:04:31 +02:00
Kamran Ahmed
86bd47c45d Fix styling for nested lists 2021-09-24 10:34:51 +02:00
Kamran Ahmed
b8c2056557 Fix styling for nested lists 2021-09-24 10:33:46 +02:00
Kamran Ahmed
c190a94bc6 Fix styling for nested lists 2021-09-24 10:33:05 +02:00
Kamran Ahmed
eafbcd5867 Disable ugly focus 2021-09-22 20:42:51 +02:00
Kamran Ahmed
170b14df4c Sticky banner update 2021-09-22 20:39:54 +02:00
Kamran Ahmed
694315026e Add studio3t sponsor 2021-09-22 14:56:16 +02:00
Kamran Ahmed
a9183dacc7 Add sysadmin roadmap 2021-09-22 14:50:03 +02:00
Kamran Ahmed
d46b543659 Add park.io sponsor 2021-09-18 12:03:03 +02:00
Kamran Ahmed
9a63e576c7 Add click tracking on YouTube banner 2021-09-14 20:34:24 +02:00
Kamran Ahmed
69ef7615fe Add guide for render blocking JavaScript 2021-09-13 13:12:27 +02:00
1004 changed files with 201587 additions and 10415 deletions

View File

@@ -1,36 +0,0 @@
<!--
Please do not remove anything written below.
Fill the details and open the issue. Any issue that
doesn't have all of these filled in will be closed,
if yours is closed reopen with everything filled in.
-->
#### What roadmap is this issue about?
- [ ] Frontend Roadmap
- [ ] Backend Roadmap
- [ ] DevOps Roadmap
- [ ] All Roadmaps
#### What is this issue about?
- [ ] Functionality of the website
- [ ] Discussion for a pull request I would want to open.
- [ ] Addition of a new item
- [ ] Removal of some existing item
- [ ] Changing in arrangement
- [ ] General suggestion
- [ ] Sharing an Idea
- [ ] Something else
#### Please acknowledge the below listed
- [ ] This is not a duplicate issue. I have searched and there is no existing issue for this.
- [ ] I understand that these roadmaps are highly opinionated. The purpose is to not to include everything out there in these roadmaps but to have everything that is most relevant today comparing to the other options listed.
- [ ] I have read the [contribution docs](../contributing) before opening this issue.
#### Enter the details about the issue here
<!-- Please enter the issue details here -->

View File

@@ -1,19 +0,0 @@
#### What roadmap does this PR target?
- [ ] Code Change
- [ ] Frontend Roadmap
- [ ] Backend Roadmap
- [ ] DevOps Roadmap
- [ ] All Roadmaps
- [ ] Guides
#### Please acknowledge the items listed below
- [ ] I have discussed this contribution and got a go-ahead in an issue before opening this pull request.
- [ ] This is not a duplicate issue. I have searched and there is no existing issue for this.
- [ ] I understand that these roadmaps are highly opinionated. The purpose is to not to include everything out there in these roadmaps but to have everything that is most relevant today comparing to the other options listed.
- [ ] I have read the [contribution docs](../contributing) before opening this PR.
#### Enter the details about the contribution
<!-- Enter the details here -->

BIN
.github/images/banner.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

1
.github/sponsors/doppler-logo.svg vendored Normal file
View File

@@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 3473 1069"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#111;}.cls-3{fill-rule:evenodd;fill:url(#linear-gradient);}</style><linearGradient id="linear-gradient" x1="658.73" y1="777.7" x2="341.45" y2="352.06" gradientTransform="matrix(1, 0, 0, -1, 0, 1070)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#33a9ff"/><stop offset="1" stop-color="#1673ff"/></linearGradient></defs><rect class="cls-1" width="3473" height="1069"/><path class="cls-2" d="M1054.06,633.32q4.93.45,11.23.9H1081q52.55,0,77.7-26.5,25.59-26.49,25.59-73.18,0-48.94-24.25-74.09t-76.79-25.14q-7.18,0-14.82.45-5.78,0-11,.51a3.73,3.73,0,0,0-3.33,3.74Zm202.54-98.78Q1256.6,575,1244,605t-35.92,49.84q-22.9,19.75-56.14,29.63t-74.55,9.88q-18.86,0-44-1.79A338.32,338.32,0,0,1,984,686.3V386.41a3.8,3.8,0,0,1,3.13-3.75,386.34,386.34,0,0,1,47.17-5.27q26.49-1.8,45.36-1.8,40,0,72.3,9,32.79,9,56.14,28.29T1244,462.25Q1256.61,492.33,1256.6,534.54Z"/><path class="cls-2" d="M1397.52,534.54q0,22.89,5.39,41.31a103.13,103.13,0,0,0,16.17,31.87,74.66,74.66,0,0,0,26.05,20.21q15.27,7.19,35,7.18,19.3,0,34.58-7.18a69.47,69.47,0,0,0,26-20.21A91.41,91.41,0,0,0,1557,575.85q5.83-18.42,5.84-41.31T1557,493.23q-5.39-18.86-16.17-31.88a67.73,67.73,0,0,0-26-20.65q-15.27-7.18-34.58-7.19-19.77,0-35,7.64a72.5,72.5,0,0,0-26.05,20.65q-10.33,13-16.17,31.88A145.23,145.23,0,0,0,1397.52,534.54Zm237.57,0q0,40-12.12,70.49-11.68,30.09-32.34,50.74a134.89,134.89,0,0,1-49.4,30.53,176.88,176.88,0,0,1-61.07,10.33A174.23,174.23,0,0,1,1420,686.3a140,140,0,0,1-49.4-30.53q-21.11-20.65-33.23-50.74-12.13-30.53-12.13-70.49t12.58-70q12.57-30.53,33.68-51.18a142,142,0,0,1,49.4-31A171.39,171.39,0,0,1,1480.16,372a174.08,174.08,0,0,1,60.18,10.33,136.87,136.87,0,0,1,49.4,31q21.1,20.65,33.23,51.18Q1635.09,494.58,1635.09,534.54Z"/><path class="cls-2" d="M1810.48,375.59q69.62,0,106.88,24.7,37.28,24.24,37.28,79.92,0,56.13-37.72,81.27-37.73,24.69-107.79,24.69H1791a3.83,3.83,0,0,0-3.83,3.83v96.51a3.83,3.83,0,0,1-3.83,3.83h-66.23V386.83a3.81,3.81,0,0,1,3.1-3.75,400.76,400.76,0,0,1,45.4-5.69Q1791.18,375.59,1810.48,375.59Zm4.49,59.72q-7.63,0-15.27.45-5,.3-9.06.62a3.8,3.8,0,0,0-3.51,3.8v86.28h22q36.38,0,54.79-9.88t18.42-36.82q0-13-4.94-21.55a32.47,32.47,0,0,0-13.48-13.47q-8.54-5.39-21.1-7.19A159.75,159.75,0,0,0,1815,435.31Z"/><path class="cls-2" d="M2123.07,375.59q69.61,0,106.89,24.7,37.27,24.24,37.27,79.92,0,56.13-37.72,81.27-37.73,24.69-107.78,24.69h-18.18a3.83,3.83,0,0,0-3.83,3.83v96.51a3.83,3.83,0,0,1-3.83,3.83h-66.23V386.82a3.8,3.8,0,0,1,3.1-3.74,400.76,400.76,0,0,1,45.4-5.69Q2103.77,375.59,2123.07,375.59Zm4.49,59.72q-7.64,0-15.27.45-5,.3-9.06.62a3.81,3.81,0,0,0-3.51,3.8v86.28h22q36.38,0,54.78-9.88t18.42-36.82q0-13-4.94-21.55a32.47,32.47,0,0,0-13.48-13.47q-8.52-5.39-21.1-7.19A159.75,159.75,0,0,0,2127.56,435.31Z"/><path class="cls-2" d="M2540.5,630.17a1.29,1.29,0,0,1,1.28,1.28v57.62a1.28,1.28,0,0,1-1.28,1.27H2342.25V401.41a3.83,3.83,0,0,1,2.81-3.69l67.25-18.54v251Z"/><path class="cls-2" d="M2618.88,690.34V383a3.84,3.84,0,0,1,3.83-3.83h215a1.28,1.28,0,0,1,1.23,1.64l-16.44,56.26a1.26,1.26,0,0,1-1.22.92H2692.77a3.83,3.83,0,0,0-3.83,3.83v57.24H2803.1a1.27,1.27,0,0,1,1.23,1.63l-16,54.92a1.28,1.28,0,0,1-1.22.92h-94.34a3.82,3.82,0,0,0-3.83,3.83v71.15h154.72a1.28,1.28,0,0,1,1.23,1.63l-16.34,56.27a1.27,1.27,0,0,1-1.22.92Z"/><path class="cls-2" d="M3006,375.59q70.07,0,107.34,25.15,37.28,24.69,37.27,77.22,0,32.79-15.27,53.44-14.82,20.19-43.11,31.87,9.43,11.68,19.76,26.94,10.34,14.82,20.21,31.43,10.32,16.17,19.76,34.13,8.93,16.58,16.65,32.75a1.28,1.28,0,0,1-1.16,1.82H3091.6a1.27,1.27,0,0,1-1.11-.65q-8.37-15-17.15-30.33-8.53-15.72-18-30.53-9-14.82-18-27.84a286.92,286.92,0,0,0-18-24.25h-30.76a3.83,3.83,0,0,0-3.82,3.83V686.51a3.83,3.83,0,0,1-3.83,3.83h-66.23V386.82a3.8,3.8,0,0,1,3.09-3.74,400,400,0,0,1,44.06-5.69Q2986.67,375.59,3006,375.59Zm4.05,59.72q-7.64,0-13.93.45-4,.3-7.71.61a3.82,3.82,0,0,0-3.51,3.81v80.89h19.76q39.51,0,56.58-9.88t17.07-33.67q0-22.9-17.52-32.33Q3043.71,435.31,3010,435.31Z"/><path class="cls-3" d="M307.26,310a1.79,1.79,0,0,0-1.5,2.75l89.7,140.38a14.19,14.19,0,0,0,12,6.58H528.38c39.92,0,64.87,35.28,64.72,74.79s-26.74,74.44-64.72,74.44H404.77a4.71,4.71,0,0,0-4.71,4.75V754.25a4.72,4.72,0,0,0,4.72,4.75H560.62C689.12,759,753,637.1,753.09,534.5S690,310,560.62,310ZM367,609.29H336.16C318.4,609.29,304,626,304,646.71V757.66a1.28,1.28,0,0,0,1.28,1.28h30.88c17.76,0,32.15-16.75,32.15-37.41v-111A1.27,1.27,0,0,0,367,609.29Z"/></svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

59
.github/sponsors/oss-logo.svg vendored Normal file
View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 646.6 105.7" style="enable-background:new 0 0 646.6 105.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#104366;}
.st1{fill:#4086C6;}
</style>
<g>
<path class="st0" d="M21.1,79.8c-6.6-3.5-11.7-8.4-15.5-14.6C1.9,59,0,52,0,44.3c0-7.8,1.9-14.7,5.6-20.9
c3.7-6.2,8.9-11.1,15.5-14.6c6.6-3.5,14-5.3,22.2-5.3c8.2,0,15.6,1.8,22.1,5.3c6.6,3.5,11.7,8.4,15.5,14.6
c3.8,6.2,5.6,13.2,5.6,20.9c0,7.8-1.9,14.7-5.6,20.9c-3.8,6.2-8.9,11.1-15.5,14.6c-6.5,3.5-13.9,5.3-22.1,5.3
C35,85.1,27.6,83.4,21.1,79.8z M55.9,66.3c3.8-2.1,6.7-5.1,8.9-9c2.1-3.8,3.2-8.2,3.2-13.1c0-4.9-1.1-9.3-3.2-13.1
c-2.1-3.8-5.1-6.8-8.9-9c-3.8-2.1-8-3.2-12.6-3.2c-4.7,0-8.9,1.1-12.6,3.2s-6.7,5.1-8.9,9c-2.1,3.8-3.2,8.2-3.2,13.1
c0,4.9,1.1,9.3,3.2,13.1c2.1,3.8,5.1,6.8,8.9,9c3.8,2.1,8,3.2,12.6,3.2C47.9,69.5,52.1,68.5,55.9,66.3z"/>
<path class="st0" d="M108.1,82.6c-5.8-1.7-10.5-3.9-14.1-6.6l6.2-13.8c3.4,2.5,7.4,4.5,12.1,6c4.7,1.5,9.3,2.3,14,2.3
c5.2,0,9-0.8,11.5-2.3c2.5-1.5,3.7-3.6,3.7-6.2c0-1.9-0.7-3.4-2.2-4.7c-1.5-1.2-3.3-2.2-5.6-3c-2.3-0.8-5.4-1.6-9.3-2.5
c-6-1.4-11-2.9-14.8-4.3c-3.8-1.4-7.1-3.7-9.9-6.9c-2.7-3.2-4.1-7.4-4.1-12.6c0-4.6,1.2-8.7,3.7-12.5c2.5-3.7,6.2-6.7,11.2-8.9
c5-2.2,11.1-3.3,18.3-3.3c5,0,10,0.6,14.8,1.8c4.8,1.2,9,2.9,12.6,5.2l-5.6,13.9c-7.3-4.1-14.6-6.2-21.9-6.2
c-5.1,0-8.9,0.8-11.3,2.5c-2.4,1.7-3.7,3.8-3.7,6.5c0,2.7,1.4,4.7,4.2,6c2.8,1.3,7.1,2.6,12.9,3.9c6,1.4,11,2.9,14.8,4.3
c3.8,1.4,7.1,3.7,9.9,6.8c2.7,3.1,4.1,7.3,4.1,12.5c0,4.5-1.3,8.6-3.8,12.4c-2.5,3.7-6.3,6.7-11.3,8.9c-5,2.2-11.2,3.3-18.4,3.3
C120,85.1,113.9,84.3,108.1,82.6z"/>
<path class="st0" d="M180.1,82.6c-5.8-1.7-10.5-3.9-14.1-6.6l6.2-13.8c3.4,2.5,7.4,4.5,12.1,6c4.7,1.5,9.3,2.3,14,2.3
c5.2,0,9-0.8,11.5-2.3c2.5-1.5,3.7-3.6,3.7-6.2c0-1.9-0.7-3.4-2.2-4.7c-1.5-1.2-3.3-2.2-5.6-3c-2.3-0.8-5.4-1.6-9.3-2.5
c-6-1.4-10.9-2.9-14.8-4.3c-3.8-1.4-7.1-3.7-9.9-6.9c-2.7-3.2-4.1-7.4-4.1-12.6c0-4.6,1.2-8.7,3.7-12.5c2.5-3.7,6.2-6.7,11.2-8.9
s11.1-3.3,18.3-3.3c5,0,10,0.6,14.8,1.8c4.8,1.2,9,2.9,12.6,5.2l-5.6,13.9c-7.3-4.1-14.6-6.2-21.9-6.2c-5.1,0-8.9,0.8-11.3,2.5
c-2.4,1.7-3.7,3.8-3.7,6.5c0,2.7,1.4,4.7,4.2,6c2.8,1.3,7.1,2.6,12.9,3.9c6,1.4,10.9,2.9,14.8,4.3s7.1,3.7,9.9,6.8
c2.7,3.1,4.1,7.3,4.1,12.5c0,4.5-1.3,8.6-3.8,12.4c-2.5,3.7-6.3,6.7-11.3,8.9c-5,2.2-11.2,3.3-18.4,3.3
C192,85.1,186,84.3,180.1,82.6z"/>
<path class="st1" d="M293.2,79.1c-6.2-3.5-11.1-8.2-14.7-14.3c-3.6-6.1-5.4-12.9-5.4-20.5c0-7.6,1.8-14.5,5.4-20.5
c3.6-6.1,8.5-10.9,14.7-14.3c6.2-3.5,13.2-5.2,20.9-5.2c5.7,0,11,0.9,15.8,2.8c4.8,1.8,8.9,4.6,12.3,8.2l-3.6,3.7
c-6.3-6.2-14.4-9.4-24.3-9.4c-6.6,0-12.6,1.5-18.1,4.5c-5.4,3-9.7,7.2-12.8,12.5s-4.6,11.2-4.6,17.8s1.5,12.5,4.6,17.8
c3.1,5.3,7.3,9.5,12.8,12.5c5.4,3,11.4,4.5,18.1,4.5c9.8,0,17.9-3.2,24.3-9.5l3.6,3.7c-3.4,3.6-7.5,6.4-12.4,8.2
c-4.9,1.9-10.1,2.8-15.7,2.8C306.3,84.3,299.4,82.6,293.2,79.1z"/>
<path class="st1" d="M395.4,30c3.9,3.7,5.9,9.2,5.9,16.4v37.4h-5.4V73.3c-1.9,3.5-4.6,6.2-8.2,8.1c-3.6,1.9-7.9,2.9-13,2.9
c-6.5,0-11.7-1.5-15.5-4.6c-3.8-3.1-5.7-7.1-5.7-12.2c0-4.9,1.8-8.9,5.2-11.9c3.5-3,9.1-4.6,16.8-4.6h20.2v-4.7
c0-5.5-1.5-9.7-4.5-12.5c-3-2.9-7.3-4.3-13-4.3c-3.9,0-7.7,0.7-11.2,2c-3.6,1.4-6.6,3.2-9.1,5.4l-2.8-4.1c2.9-2.6,6.5-4.7,10.6-6.2
c4.1-1.5,8.5-2.2,13-2.2C385.9,24.4,391.5,26.3,395.4,30z M387.9,76.2c3.4-2.3,6-5.5,7.7-9.8V55.3h-20.1c-5.8,0-10,1.1-12.6,3.2
c-2.6,2.1-3.9,5-3.9,8.7c0,3.8,1.4,6.9,4.3,9.1c2.9,2.2,6.9,3.3,12.1,3.3C380.3,79.6,384.5,78.5,387.9,76.2z"/>
<path class="st1" d="M469,28.2c4.4,2.6,7.9,6.1,10.4,10.6c2.5,4.5,3.8,9.7,3.8,15.5c0,5.8-1.3,11-3.8,15.5
c-2.5,4.6-6,8.1-10.4,10.6c-4.4,2.5-9.4,3.8-14.9,3.8c-5.2,0-9.9-1.2-14.1-3.7c-4.2-2.4-7.5-5.9-9.8-10.2v35.3h-5.6V24.8h5.4v13.9
c2.3-4.5,5.6-8,9.9-10.6c4.2-2.5,9-3.8,14.3-3.8C459.6,24.4,464.6,25.7,469,28.2z M465.9,76c3.6-2.1,6.5-5,8.5-8.8
c2.1-3.8,3.1-8.1,3.1-12.9c0-4.8-1-9.1-3.1-12.9c-2.1-3.8-4.9-6.7-8.5-8.8c-3.6-2.1-7.7-3.2-12.2-3.2c-4.5,0-8.6,1.1-12.1,3.2
c-3.6,2.1-6.4,5-8.5,8.8c-2.1,3.8-3.1,8.1-3.1,12.9c0,4.8,1,9.1,3.1,12.9c2.1,3.8,4.9,6.7,8.5,8.8c3.6,2.1,7.6,3.2,12.1,3.2
C458.3,79.1,462.3,78.1,465.9,76z"/>
<path class="st1" d="M500.3,9.2c-0.9-0.9-1.4-1.9-1.4-3.2c0-1.3,0.5-2.4,1.4-3.3c0.9-0.9,2-1.4,3.3-1.4c1.3,0,2.4,0.4,3.3,1.3
c0.9,0.9,1.4,1.9,1.4,3.2c0,1.3-0.5,2.4-1.4,3.3c-0.9,0.9-2,1.4-3.3,1.4C502.3,10.5,501.2,10.1,500.3,9.2z M500.7,24.8h5.6v58.9
h-5.6V24.8z"/>
<path class="st1" d="M559.4,80c-1.4,1.4-3.2,2.4-5.4,3.1c-2.1,0.7-4.4,1.1-6.7,1.1c-5.1,0-9.1-1.4-11.9-4.2
c-2.8-2.8-4.2-6.8-4.2-11.8V29.7h-10.8v-4.9h10.8V12h5.6v12.9h18.7v4.9H537v37.9c0,3.8,0.9,6.8,2.8,8.8c1.8,2,4.6,3,8.2,3
c3.7,0,6.7-1.1,9.1-3.3L559.4,80z"/>
<path class="st1" d="M611.8,30c3.9,3.7,5.9,9.2,5.9,16.4v37.4h-5.4V73.3c-1.9,3.5-4.6,6.2-8.2,8.1c-3.6,1.9-7.9,2.9-13,2.9
c-6.5,0-11.7-1.5-15.5-4.6c-3.8-3.1-5.7-7.1-5.7-12.2c0-4.9,1.8-8.9,5.2-11.9c3.5-3,9.1-4.6,16.8-4.6H612v-4.7
c0-5.5-1.5-9.7-4.5-12.5c-3-2.9-7.3-4.3-13-4.3c-3.9,0-7.7,0.7-11.2,2c-3.6,1.4-6.6,3.2-9.1,5.4l-2.8-4.1c2.9-2.6,6.5-4.7,10.6-6.2
c4.1-1.5,8.5-2.2,13-2.2C602.3,24.4,607.9,26.3,611.8,30z M604.3,76.2c3.4-2.3,6-5.5,7.7-9.8V55.3h-20.1c-5.8,0-10,1.1-12.6,3.2
c-2.6,2.1-3.9,5-3.9,8.7c0,3.8,1.4,6.9,4.3,9.1c2.9,2.2,6.9,3.3,12.1,3.3C596.7,79.6,600.9,78.5,604.3,76.2z"/>
<path class="st1" d="M640.9,0h5.6v83.8h-5.6V0z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -0,0 +1,11 @@
<svg width="1354" height="420" viewBox="0 0 1354 420" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="1354" height="420" rx="20" fill="white"/>
<path d="M434.751 133.122H466.637L489.595 227.729C493.852 245.585 494.697 256.219 494.697 256.219H495.128C495.128 256.219 496.61 245.808 500.867 227.729L522.757 133.122H558.9L582.066 227.729C586.53 246.223 587.598 256.219 587.598 256.219H588.236C588.236 256.219 588.666 246.223 592.907 227.729L615.02 133.122H646.907L606.523 288.313H571.017L546.576 194.344C541.474 173.936 541.044 164.801 541.044 164.801H540.614C540.614 164.801 540.183 173.936 535.512 194.344L512.553 288.313H475.996L434.751 133.122Z" fill="black"/>
<path d="M641.583 231.934C641.583 196.428 664.541 173.47 699.202 173.47C733.639 173.47 756.597 196.428 756.597 231.934C756.597 267.647 733.639 290.828 699.202 290.828C664.557 290.812 641.583 267.647 641.583 231.934ZM726.832 231.934C726.832 208.976 715.783 195.998 699.202 195.998C681.346 195.998 671.349 210.458 671.349 231.934C671.349 255.323 682.398 268.284 699.202 268.284C717.058 268.284 726.832 253.824 726.832 231.934Z" fill="black"/>
<path d="M770.836 175.21H799.103V196.048H799.741C804.635 185.207 816.322 174.365 836.299 174.365C839.695 174.365 841.831 174.796 843.314 175.21V203.478H842.469C842.469 203.478 839.918 202.633 832.903 202.633C811.013 202.633 799.103 215.594 799.103 239.828V288.295H770.836V175.21Z" fill="black"/>
<path d="M856.5 133.122H884.767V182.865C884.767 212.2 884.336 217.509 884.336 217.509H884.767L926.857 175.212H962.139L912.843 224.11L970.031 288.313H936.646L895.401 241.536L884.767 251.946V288.297H856.5V133.122Z" fill="black"/>
<path d="M970.444 211.285C970.444 163.455 1000.21 131.569 1044.85 131.569C1089.49 131.569 1119.26 163.455 1119.26 211.285C1119.26 259.114 1089.49 291.001 1044.85 291.001C1000.21 291.001 970.444 259.114 970.444 211.285ZM1088.42 211.285C1088.42 178.761 1071 156.855 1044.84 156.855C1018.67 156.855 1001.26 178.761 1001.26 211.285C1001.26 243.809 1018.69 265.715 1044.84 265.715C1070.98 265.715 1088.42 243.809 1088.42 211.285Z" fill="black"/>
<path d="M1130.08 236.656H1162.4C1162.4 254.943 1174.95 265.146 1194.08 265.146C1210.23 265.146 1221.29 257.063 1221.29 245.584C1221.29 232.622 1212.79 229.21 1185.79 223.901C1161.12 219.007 1134.98 210.716 1134.98 178.399C1134.98 151.408 1157.93 131 1193.01 131C1229.57 131 1252.11 150.132 1252.11 179.037H1219.79C1219.79 165.007 1208.95 156.286 1193.01 156.286C1176.86 156.286 1166.86 164.146 1166.86 175.625C1166.86 187.742 1173.88 192.413 1195.56 196.878C1227.65 203.685 1254.02 207.288 1254.02 243.001C1254.02 271.3 1229.36 290.432 1193.01 290.432C1156.02 290.432 1130.08 268.957 1130.08 236.656Z" fill="black"/>
<path d="M100 210C100 214.824 101.269 219.647 103.723 223.793L148.231 300.878C152.8 308.747 159.739 315.178 168.369 318.055C185.377 323.724 202.977 316.447 211.354 301.893L222.1 283.278L179.708 210L224.47 132.408L235.216 113.792C238.431 108.208 242.747 103.638 247.824 100H243.17H178.777C166.677 100 155.508 106.431 149.5 116.923L103.723 196.208C101.269 200.354 100 205.177 100 210Z" fill="#6363F1"/>
<path d="M353.847 210C353.847 205.177 352.578 200.353 350.124 196.207L305.024 118.107C296.647 103.638 279.047 96.3608 262.039 101.945C253.409 104.822 246.47 111.253 241.901 119.122L231.747 136.638L274.139 210L229.378 287.592L218.632 306.208C215.416 311.708 211.101 316.362 206.024 320H210.678H275.07C287.17 320 298.34 313.569 304.347 303.077L350.124 223.792C352.578 219.646 353.847 214.823 353.847 210Z" fill="#6363F1"/>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -1,4 +1,4 @@
name: Deployment to GitHub Pages
name: Deployment to GH Pages
on:
push:
branches: [ master ]
@@ -18,11 +18,11 @@ jobs:
- name: Setup Environment
run: |
npm install
- name: Generate meta and builld
- name: Generate meta and build
run: |
npm run meta
npm run build
- name: Deploy to GitHub Pages
- name: Deploy to GH Pages
run: |
git config user.email "kamranahmed.se@gmail.com"
git config user.name "Kamran Ahmed"

View File

@@ -1,39 +0,0 @@
<p align="center">
<img src="public/brand.png" height="128">
<h2 align="center">roadmap.sh</h2>
<p align="center">Community driven roadmaps, articles and resources for developers<p>
<p align="center">
<a href="https://roadmap.sh/guides">
<img src="https://img.shields.io/badge/-Guides-0a0a0a.svg?style=flat&colorA=0a0a0a" alt="roadmaps" />
</a>
<a href="https://roadmap.sh/roadmaps">
<img src="https://img.shields.io/badge/-Roadmaps-0a0a0a.svg?style=flat&colorA=0a0a0a" alt="roadmaps" />
</a>
<a href="./contributing/guide.md">
<img src="https://img.shields.io/badge/%E2%9D%A4-Contribute-0a0a0a.svg?style=flat&colorA=0a0a0a" alt="roadmaps" />
</a>
</p>
</p>
[roadmap.sh](https://roadmap.sh) is the community effort to create knowledge that is approachable for the developers.
The website is built with Next.js, contains roadmaps which are the step by step guides for developers, guides which are the easier to understand explanations on the complex topics. Anyone can contribute to the website by suggesting changes to existing paths, adding learning resources, becoming an author by adding new guides, updating the existing guides.
## Development
Clone the repository, install the dependencies and start the application
```bash
git clone https://github.com/kamranahmedse/roadmap.sh
yarn install
yarn dev
```
## Contributions
* Add new Roadmap
* Suggest changes to existing roadmap
* Write an article
* Improve the site's codebase
* Write tests

76
code_of_conduct.md Normal file
View File

@@ -0,0 +1,76 @@
# 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 <kamranahmed.se@gmail.com>. 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

View File

@@ -10,7 +10,7 @@ export const CustomAd = () => {
>
<img
src='/fm-img.png'
alt='FM Logo'
alt='Custom Logo'
height='100'
width='130'
style={{ maxWidth: '130px', border: 'none' }}

View File

@@ -20,8 +20,6 @@ function NavigationLinks() {
href='/guides'>Guides</Link>
<Link py='7px' borderBottomWidth={1} borderBottomColor='gray.800' _hover={{ color: 'white' }}
href='/watch'>Videos</Link>
<Link py='7px' borderBottomWidth={1} borderBottomColor='gray.800' _hover={{ color: 'white' }}
href='/thanks'>Thanks</Link>
<Link py='7px' borderBottomWidth={1} borderBottomColor='gray.800' _hover={{ color: 'white' }}
href='/about'>About</Link>
<Link py='7px' _hover={{ color: 'white' }} target='_blank'
@@ -33,7 +31,7 @@ function NavigationLinks() {
export function Footer() {
return (
<Box bg='gray.900' p={['25px 0', '25px 0', '40px 0']}>
<Box bg='brand.hero' p={['25px 0', '25px 0', '40px 0']}>
<Container maxW='container.md'>
<NavigationLinks />
@@ -64,16 +62,6 @@ export function Footer() {
</Text>
</Box>
</Container>
<CustomAd />
{process.env.GA_SECRET && false && (
<script
async
type='text/javascript'
src='//cdn.carbonads.com/carbon.js?serve=CE7DLK3Y&placement=roadmapsh'
id='_carbonads_js'
/>
)}
</Box>
);
}

View File

@@ -30,7 +30,6 @@ function DesktopMenuLinks() {
<MenuLink text={'Roadmaps'} link={'/roadmaps'} />
<MenuLink text={'Guides'} link={'/guides'} />
<MenuLink text={'Videos'} link={'/watch'} />
<MenuLink text={'Thanks'} link={'/thanks'} />
<Link ml='10px' bgGradient='linear(to-l, yellow.700, red.600)' p='7px 10px' rounded='4px'
_hover={{ textDecoration: 'none', bgGradient: 'linear(to-l, red.800, yellow.700)' }}
@@ -72,12 +71,11 @@ function MobileMenuLinks() {
top={0}
bg='gray.900'
spacing='12px'
zIndex={1}
zIndex={999}
>
<Link href='/roadmaps'>Roadmaps</Link>
<Link href='/guides'>Guides</Link>
<Link href='/watch'>Videos</Link>
<Link href='/thanks'>Thanks</Link>
<Link href='/signup'>Subscribe</Link>
<CloseButton onClick={() => setIsOpen(false)} pos='fixed' top='40px' right='15px' size='lg' />
</Stack>
@@ -86,9 +84,15 @@ function MobileMenuLinks() {
);
}
export function GlobalHeader() {
type GlobalHeaderProps = {
variant?: 'transparent' | 'solid'
};
export function GlobalHeader(props: GlobalHeaderProps) {
const { variant = 'solid' } = props;
return (
<Box bg='gray.900' p='58px 0 20px'>
<Box bg={variant === 'solid' ? 'gray.900' : 'transparent'} p='20px 0'>
<Container maxW='container.md'>
<Flex justifyContent='space-between' alignItems='center'>
<Box>

View File

@@ -21,7 +21,7 @@ export function GuideGridItem(props: GuideGridItemProps) {
<Box _hover={{ textDecoration: 'none', transform: 'scale(1.02)' }} as={Link} href={href} shadow='xl' p='20px'
rounded='10px' bg={bgColorList[colorIndex] ?? bgColorList[0]} flex={1}>
<Text mb='10px' fontSize='13px' color='gray.400'>
{isNew && <Badge colorScheme={'yellow'} mr='10px'>New</Badge>}
{isNew && <Badge colorScheme={'green'} mr='10px'>New</Badge>}
{date}
</Text>
<Heading color='white' mb={'6px'} fontSize='20px'>{title}</Heading>

View File

@@ -1,73 +1,165 @@
import NextHead from 'next/head';
import siteConfig from '../content/site.json';
import { RoadmapType } from '../lib/roadmap';
import { roadmapTheme } from '../styles/theme';
type HelmetProps = {
title?: string;
keywords?: string[];
canonical?: string;
description?: string;
roadmap?: RoadmapType;
};
const Helmet = (props: HelmetProps) => (
<NextHead>
<meta charSet='UTF-8' />
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',
},
},
};
}
<title>{props.title || siteConfig.title}</title>
<meta name='description' content={props.description || siteConfig.description} />
const Helmet = (props: HelmetProps) => {
const { roadmap, title, canonical, description, keywords } = props;
<meta name='author' content={siteConfig.author} />
<meta name='keywords' content={props.keywords ? props.keywords.join(',') : siteConfig.keywords.join(',')} />
return (
<NextHead>
<meta charSet="UTF-8" />
<meta name='viewport'
content='width=device-width, user-scalable=yes, initial-scale=1.0, maximum-scale=3.0, minimum-scale=1.0' />
{props.canonical && <link rel='canonical' href={props.canonical} />}
<meta httpEquiv='Content-Language' content='en' />
<title>{title || siteConfig.title}</title>
<meta
name="description"
content={description || siteConfig.description}
/>
<meta property='og:title' content={props.title || siteConfig.title} />
<meta property='og:description' content={props.description || siteConfig.description} />
<meta property='og:image' content={`${siteConfig.url.web}${siteConfig.logoSquare}`} />
<meta property='og:url' content={siteConfig.url.web} />
<meta property='og:type' content='website' />
<meta property='article:publisher' content={`https://facebook.com/${siteConfig.facebook}`} />
<meta property='og:site_name' content={siteConfig.name} />
<meta property='article:author' content={siteConfig.author} />
<meta name="author" content={siteConfig.author} />
<meta
name="keywords"
content={keywords ? keywords.join(',') : siteConfig.keywords.join(',')}
/>
<meta name='twitter:card' content='summary' />
<meta name='twitter:site' content={`@${siteConfig.twitter}`} />
<meta name='twitter:title' content={props.title || siteConfig.title} />
<meta name='twitter:description' content={props.description || siteConfig.description} />
<meta name='twitter:image' content={`${siteConfig.url.web}${siteConfig.logoSquare}`} />
<meta name='twitter:image:alt' content='roadmap.sh' />
<meta
name="viewport"
content="width=device-width, user-scalable=yes, initial-scale=1.0, maximum-scale=3.0, minimum-scale=1.0"
/>
{canonical && <link rel="canonical" href={canonical} />}
<meta httpEquiv="Content-Language" content="en" />
<meta property="og:title" content={title || siteConfig.title} />
<meta
property="og:description"
content={description || siteConfig.description}
/>
<meta
property="og:image"
content={`${siteConfig.url.web}${siteConfig.logoSquare}`}
/>
<meta property="og:url" content={siteConfig.url.web} />
<meta property="og:type" content="website" />
<meta
property="article:publisher"
content={`https://facebook.com/${siteConfig.facebook}`}
/>
<meta property="og:site_name" content={siteConfig.name} />
<meta property="article:author" content={siteConfig.author} />
<meta name='mobile-web-app-capable' content='yes' />
<meta name='apple-mobile-web-app-capable' content='yes' />
<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />
<link rel='apple-touch-icon' sizes='180x180' href='/manifest/apple-touch-icon.png' />
<meta name='msapplication-TileColor' content='#101010' />
<meta name='theme-color' content='#848a9a' />
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content={`@${siteConfig.twitter}`} />
<meta name="twitter:title" content={title || siteConfig.title} />
<meta
name="twitter:description"
content={description || siteConfig.description}
/>
<meta
name="twitter:image"
content={`${siteConfig.url.web}${siteConfig.logoSquare}`}
/>
<meta name="twitter:image:alt" content="roadmap.sh" />
<link rel='manifest' href='/manifest/manifest.json' />
<link rel='icon' type='image/png' sizes='32x32' href='/manifest/icon32.png' />
<link rel='icon' type='image/png' sizes='16x16' href='/manifest/icon16.png' />
<link rel='shortcut icon' href='/manifest/favicon.ico' type='image/x-icon' />
<link rel='icon' href='/manifest/favicon.ico' type='image/x-icon' />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta
name="apple-mobile-web-app-status-bar-style"
content="black-translucent"
/>
<link
rel="apple-touch-icon"
sizes="180x180"
href="/manifest/apple-touch-icon.png"
/>
<meta name="msapplication-TileColor" content="#101010" />
<meta name="theme-color" content="#848a9a" />
{ /* Global Site Tag (gtag.js) - Google Analytics */}
{process.env.GA_SECRET && (
<>
<script async src={`https://www.googletagmanager.com/gtag/js?id=${process.env.GA_SECRET}`} />
<script dangerouslySetInnerHTML={{
__html: `
<link rel="manifest" href="/manifest/manifest.json" />
<link
rel="icon"
type="image/png"
sizes="32x32"
href="/manifest/icon32.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="/manifest/icon16.png"
/>
<link
rel="shortcut icon"
href="/manifest/favicon.ico"
type="image/x-icon"
/>
<link rel="icon" href="/manifest/favicon.ico" type="image/x-icon" />
{roadmap?.id && (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(getRichSnippetJson(roadmap)),
}}
/>
)}
{/* Global Site Tag (gtag.js) - Google Analytics */}
{process.env.GA_SECRET && (
<>
<script
async
src={`https://www.googletagmanager.com/gtag/js?id=${process.env.GA_SECRET}`}
/>
<script
dangerouslySetInnerHTML={{
__html: `
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '${process.env.GA_SECRET}');
`
}} />
</>
)}
</NextHead>
);
`,
}}
/>
</>
)}
</NextHead>
);
};
export default Helmet;

View File

@@ -0,0 +1 @@
<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 18v-7h-9v-5h3v-6h-8v6h3v5h-9v7h-2v6h6v-6h-2v-5h7v5h-2v6h6v-6h-2v-5h7v5h-2v6h6v-6z"/></svg>

After

Width:  |  Height:  |  Size: 184 B

View File

@@ -6,15 +6,17 @@ type LinksListItemProps = {
title: string;
subtitle: string;
badgeText?: string;
target?: string;
icon?: React.ReactChild;
hideSubtitleOnMobile?: boolean;
};
export function LinksListItem(props: LinksListItemProps) {
const { title, subtitle, badgeText, icon, hideSubtitleOnMobile = false, href } = props;
const { title, subtitle, badgeText, icon, hideSubtitleOnMobile = false, href, target } = props;
return (
<Link
target={target || '_self'}
href={href}
fontSize={['14px', '14px', '15px']}
py='9px'
@@ -24,6 +26,15 @@ export function LinksListItem(props: LinksListItemProps) {
color='gray.600'
alignItems={['flex-start', 'center']}
justifyContent={'space-between'}
sx={{
'@media (hover: none)': {
'&:hover': {
'& .list-item-title': {
transform: 'none'
}
}
}
}}
_hover={{
textDecoration: 'none',
color: 'blue.400',
@@ -38,7 +49,7 @@ export function LinksListItem(props: LinksListItemProps) {
{icon}
<Text maxWidth={'345px'} isTruncated as='span'>{title}</Text>
{badgeText &&
<Badge pos='relative' top='1px' variant='subtle' colorScheme='purple' ml='10px'>{badgeText}</Badge>}
<Badge pos='relative' top='1px' variant='subtle' colorScheme='green' ml='10px'>{badgeText}</Badge>}
</Flex>
<Text d={[hideSubtitleOnMobile ? 'none' : 'inline', 'inline']} mt={['3px', 0]} as='span'
fontSize={['11px', '11px', '12px']} color='gray.500'>{subtitle}</Text>

View File

@@ -3,8 +3,8 @@ import styled from 'styled-components';
type EnrichedLinkProps = {
href: string;
children: React.ReactNode
}
children: React.ReactNode;
};
const Link = styled.a`
font-weight: 600;
@@ -13,14 +13,25 @@ const Link = styled.a`
const EnrichedLink = (props: EnrichedLinkProps) => {
// Is external URL or is a media URL
const isExternalUrl = /(^http(s)?:\/\/)|(\.(png|svg|jpeg|jpg)$)/.test(props.href);
const isExternalUrl = /(^http(s)?:\/\/)|(\.(png|svg|jpeg|jpg)$)/.test(
props.href
);
const linkProps: Record<string, string> = {
target: '_self',
...(isExternalUrl
? {
rel: 'nofollow',
target: '_blank',
}
: {}),
};
return (
<Link href={props.href} target={isExternalUrl ? '_blank' : '_self'}>
<Link href={props.href} {...linkProps}>
{props.children}
</Link>
);
};
export default EnrichedLink;

View File

@@ -5,16 +5,48 @@ type BadgeLinkType = {
target: string;
badgeText: string;
href: string;
children: React.ReactNode
colorScheme?: string;
children: React.ReactNode;
};
export function BadgeLink(props: BadgeLinkType) {
const { target = '_blank', badgeText, href, children } = props;
const {
target = '_blank',
colorScheme = 'purple',
badgeText,
href,
children,
} = props;
// Is external URL or is a media URL
const isExternalUrl = /(^http(s)?:\/\/)|(\.(png|svg|jpeg|jpg)$)/.test(
props.href
);
const linkProps: Record<string, string> = {
...(isExternalUrl
? {
rel: 'nofollow',
}
: {}),
};
return (
<Text mb={0}>
<Link fontWeight={500} textDecoration='underline' href={href} target={target}>
<Badge colorScheme={'purple'} style={{ position: 'relative', top: '-2px' }}>{badgeText}</Badge> {children}
<Text mb={'0px'}>
<Link
fontSize="14px"
color="blue.700"
fontWeight={500}
textDecoration="none"
href={href}
target={target}
_hover={{ textDecoration: 'none', color: 'purple.400' }}
{...linkProps}
>
<Badge fontSize="11px" mr="7px" colorScheme={colorScheme}>
{badgeText}
</Badge>
{children}
</Link>
</Text>
);

View File

@@ -0,0 +1,22 @@
import { Box, Flex, Heading, Text } from '@chakra-ui/react';
import TreeIcon from '../../icons/tree.svg';
type DedicatedRoadmapProps = {
href: string;
title: string;
description: string;
};
export function DedicatedRoadmap(props: DedicatedRoadmapProps) {
const { href, title, description } = props;
return (
<Flex as={'a'} target='_blank' href={ href } p={5} px={5} mt={6} rounded='md' alignItems='center' _hover={{ bg: 'yellow.400'}} bg='yellow.300'>
<Box d={['none', 'none', 'none', 'block', 'block']} mr={4} height='32px' w='32px' as={TreeIcon} color='gray.900' />
<Box as='span'>
<Heading fontSize='lg' as={'h4'} mb='2px' color='gray.900'>{ title }</Heading>
<Text color='gray.700' as='span' fontSize='md'>{ description }</Text>
</Box>
</Flex>
);
}

View File

@@ -5,7 +5,7 @@ import LinkIcon from 'components/icons/link.svg';
const linkify = (Component: React.FunctionComponent<any>) => {
return function EnrichedHeading(props: { children: string }): React.ReactNode {
const text = props.children;
const id = text.toLowerCase && text
const id = text?.toLowerCase && text
.toLowerCase()
.replace(/[^\x00-\x7F]/g, '')
.replace(/\s+/g, '-')
@@ -35,10 +35,10 @@ const HeaderLink = styled.a`
const H1 = styled.h1`
position: relative;
font-size: 42px;
font-size: 32px;
line-height: 40px;
font-weight: 700;
margin: 32px 0 10px !important;
margin: 20px 0 10px !important;
&:hover ${HeaderLink} {
display: flex;
@@ -46,12 +46,12 @@ const H1 = styled.h1`
`;
const H2 = styled(H1).attrs({ as: 'h2' })`
font-size: 32px;
font-size: 30px;
`;
const H3 = styled(H1).attrs({ as: 'h3' })`
margin: 22px 0 8px;
font-size: 30px;
font-size: 28px;
`;
const H4 = styled(H1).attrs({ as: 'h4' })`
@@ -70,12 +70,12 @@ const H6 = styled(H1).attrs({ as: 'h6' })`
`;
const Headings = {
h1: linkify(H1),
h2: linkify(H2),
h3: linkify(H3),
h4: linkify(H4),
h5: linkify(H5),
h6: linkify(H6)
h1: H1,
h2: H2,
h3: H3,
h4: H4,
h5: H5,
h6: H6
};
export default Headings;

View File

@@ -10,6 +10,8 @@ import EnrichedLink from './a';
import { BadgeLink } from './badge-link';
import { Li, Ul } from './ul';
import PremiumBlock from './premium-block';
import { ResourceGroupTitle } from './resource-group-title';
import { DedicatedRoadmap } from './dedicated-roadmap';
const MdxComponents = {
p: P,
@@ -17,11 +19,13 @@ const MdxComponents = {
pre: Pre,
blockquote: BlockQuote,
a: EnrichedLink,
DedicatedRoadmap,
table: Table,
iframe: IFrame,
img: Img,
code: Code,
BadgeLink: BadgeLink,
ResourceGroupTitle: ResourceGroupTitle,
PremiumBlock: PremiumBlock,
ul: Ul,
li: Li

View File

@@ -0,0 +1,12 @@
import React from 'react';
import { Heading } from '@chakra-ui/react';
type ResourceGroupTitleProps = {
children: React.ReactNode;
};
export function ResourceGroupTitle(props: ResourceGroupTitleProps) {
const { children } = props;
return <Heading mt='20px' color='gray.800' fontSize='14px' pb='5px' borderBottomWidth={1} textTransform='uppercase' as="h2" mb={'10px'}>{children}</Heading>;
}

View File

@@ -5,6 +5,10 @@ import styled from 'styled-components';
export const Ul = styled.ul`
margin-left: 40px;
margin-bottom: 18px;
ul {
margin-top: 18px;
}
`;
export const Li = styled.li`

View File

@@ -2,7 +2,7 @@ import { Box, Container, Heading, Link, Text } from '@chakra-ui/react';
export function OpensourceBanner() {
return (
<Box borderTopWidth={1} pt={['45px', '45px', '70px']} pb={['20px', '20px', '30px']} textAlign='center'>
<Box bg='white' borderTopWidth={1} pt={['45px', '45px', '70px']} pb={['60px', '60px', '90px']} textAlign='center'>
<Container maxW='container.md'>
<Heading fontSize={['25px', '25px', '35px']} mb={['10px', '10px', '20px']}>Open Source</Heading>
<Text lineHeight='26px' fontSize={['15px', '15px', '16px']} mb='20px'>The project is OpenSource,&nbsp;
@@ -12,7 +12,7 @@ export function OpensourceBanner() {
target='_blank'
borderBottomWidth={1}
fontWeight={600}
>7th most starred project on GitHub</Link> and is visited by hundreds of thousands of
>6th most starred project on GitHub</Link> and is visited by hundreds of thousands of
developers every month.</Text>
<iframe
src='https://ghbtns.com/github-btn.html?user=kamranahmedse&repo=developer-roadmap&type=star&count=true&size=large'

View File

@@ -1,18 +1,21 @@
import { Box, Container, Heading, Text } from '@chakra-ui/react';
import { Badge, Box, Container, Heading, Link, Text } from '@chakra-ui/react';
import React from 'react';
import siteConfig from '../content/site.json';
type PageHeaderProps = {
title: string;
subtitle: string;
children?: React.ReactNode;
beforeTitle?: React.ReactNode;
};
export function PageHeader(props: PageHeaderProps) {
const { title, subtitle, children } = props;
const { title, subtitle, children, beforeTitle = null } = props;
return (
<Box pt={['25px', '20px', '45px']} pb={['20px', '15px', '30px']} borderBottomWidth={1} mb='30px'>
<Container maxW='container.md' position='relative'>
{beforeTitle}
<Heading
as='h1'
color='black'

View File

@@ -0,0 +1,16 @@
import React from 'react';
import { Box } from '@chakra-ui/react';
type PageWrapperProps = {
children: React.ReactNode;
}
export function PageWrapper(props: PageWrapperProps) {
const { children } = props;
return (
<Box bgColor='brand.bg' bgImage='url(/bg.jpg)' bgRepeat='no-repeat' bgSize='100%' w='100%' minH='100vh'>
{ children }
</Box>
);
}

View File

@@ -0,0 +1,117 @@
import { Box, Button, Flex, Text } from '@chakra-ui/react';
import { RemoveScroll } from 'react-remove-scroll';
import { RoadmapType } from '../../lib/roadmap';
import RoadmapGroup from '../../pages/[roadmap]/[group]';
import { CheckIcon, CloseIcon, RepeatIcon } from '@chakra-ui/icons';
import { queryGroupElementsById } from '../../lib/renderer/utils';
type ContentDrawerProps = {
roadmap: RoadmapType;
groupId: string;
onClose?: () => void;
};
export function ContentDrawer(props: ContentDrawerProps) {
const { roadmap, groupId, onClose = () => null } = props;
if (!groupId) {
return null;
}
const isDone = localStorage.getItem(groupId) === 'done';
return (
<Box zIndex={99999} pos="relative">
<Box
onClick={onClose}
pos="fixed"
top={0}
left={0}
right={0}
bottom={0}
bg="black"
opacity={0.4}
/>
<RemoveScroll allowPinchZoom>
<Box
p="0px 30px 30px"
position="fixed"
w={['100%', '60%', '40%']}
bg="white"
top={0}
right={0}
bottom={0}
borderLeftWidth={'1px'}
overflowY="scroll"
>
<Flex
mt="20px"
justifyContent="space-between"
alignItems="center"
zIndex={1}
>
{!isDone && (
<Button
onClick={() => {
localStorage.setItem(groupId, 'done');
queryGroupElementsById(groupId).forEach((item) =>
item?.classList?.add('done')
);
onClose();
}}
colorScheme="green"
leftIcon={<CheckIcon />}
size="xs"
iconSpacing={0}
>
<Text
as="span"
d={['block', 'none', 'none', 'block']}
ml="10px"
>
Mark as Done
</Text>
</Button>
)}
{isDone && (
<Button
onClick={() => {
localStorage.removeItem(groupId);
queryGroupElementsById(groupId).forEach((item) =>
item?.classList?.remove('done')
);
onClose();
}}
colorScheme="red"
leftIcon={<RepeatIcon />}
size="xs"
iconSpacing={0}
>
<Text
as="span"
d={['block', 'none', 'none', 'block']}
ml="10px"
>
Mark as Pending
</Text>
</Button>
)}
<Button
onClick={onClose}
colorScheme="yellow"
ml="5px"
leftIcon={<CloseIcon width="8px" />}
iconSpacing={0}
size="xs"
>
<Text as="span" d={['none', 'none', 'none', 'block']} ml="10px">
Close
</Text>
</Button>
</Flex>
<RoadmapGroup isOutlet roadmap={roadmap} group={groupId} />
</Box>
</RemoveScroll>
</Box>
);
}

View File

@@ -0,0 +1,39 @@
import React from 'react';
import { Box, Button, Divider, Link, Text } from '@chakra-ui/react';
type EditContentPageLinkProps = {
href: string;
};
export function EditContentPageLink(props: EditContentPageLinkProps) {
const { href } = props;
return (
<Box my='30px'>
<Divider mb="15px" orientation="horizontal" />
<Text
lineHeight="23px"
fontWeight={500}
fontSize="14px"
color="gray.500"
mb="10px"
>
This page is a work in progress. Help us by writing a small
introduction to the topic and suggesting a few links to read more
about this topic.
</Text>
<Button
size="sm"
py="20px"
as={Link}
href={href}
target="_blank"
isFullWidth
colorScheme={'gray'}
_hover={{ textDecoration: 'none', bg: 'gray.200' }}
>
Edit this Page
</Button>
</Box>
);
}

View File

@@ -1,47 +1,114 @@
import { Box, Heading, Link, Text, Tooltip } from '@chakra-ui/react';
import { Box, Flex, Heading, Link, Text, Tooltip } from '@chakra-ui/react';
import { InfoIcon } from '@chakra-ui/icons';
type RoadmapGridItemProps = {
title: string;
subtitle: string;
isCommunity?: boolean;
isUpcoming?: boolean;
colorIndex?: number;
url: string;
};
const bgColorList = [
'blue.900',
'red.800',
'green.800',
'teal.800',
'gray.800',
'red.900'
'red.100',
'yellow.100',
'green.200',
'teal.200',
'blue.200',
'red.200',
'gray.200',
'teal.200',
'yellow.100',
'green.200',
'red.200',
];
export function HomeRoadmapItem(props: RoadmapGridItemProps) {
const { title, subtitle, isCommunity, colorIndex = 0, url } = props;
const {
title,
subtitle,
isCommunity,
colorIndex = 0,
url,
isUpcoming,
} = props;
return (
<Box
as={Link}
href={url}
_hover={{ textDecoration: 'none', transform: 'scale(1.02)' }}
_hover={{
textDecoration: 'none',
bg: 'rgba(255,255,255,.10)',
}}
sx={{
// On mobile devices, don't change the scale
'@media (hover: none)': {
'&:hover': {
bg: 'rgba(255,255,255,.05)',
},
},
}}
flex={1}
shadow='2xl'
bg={bgColorList[colorIndex] ?? bgColorList[0]}
color='white'
p='15px'
rounded='10px'
pos='relative'
shadow="2xl"
className={'home-roadmap-item'}
bg={'rgba(255,255,255,.05)'}
color="white"
p="15px"
rounded="10px"
pos="relative"
>
{isCommunity && (
<Tooltip label={'Community contribution'} hasArrow placement='top'>
<InfoIcon opacity={0.5} position='absolute' top='10px' right='10px' />
<Tooltip label={'Community contribution'} hasArrow placement="top">
<InfoIcon opacity={0.5} position="absolute" top="10px" right="10px" />
</Tooltip>
)}
<Heading fontSize={['17px', '17px', '22px']} mb='5px'>{title}</Heading>
<Text color='gray.200' fontSize={['13px']}>{subtitle}</Text>
<Heading
fontSize={['17px', '17px', '22px']}
color={bgColorList[colorIndex]}
mb="5px"
>
{title}
</Heading>
<Text color="gray.200" fontSize={['13px']}>
{subtitle}
</Text>
{isUpcoming && (
<Flex
alignItems="center"
justifyContent="center"
pos="absolute"
left={0}
right={0}
top={0}
bottom={0}
rounded="10px"
>
<Text
color="white"
bg="gray.600"
zIndex={1}
fontWeight={600}
p={'5px 10px'}
rounded="10px"
>
Upcoming
</Text>
<Box
bg={'black'}
pos="absolute"
top={0}
left={0}
right={0}
bottom={0}
rounded={'10px'}
opacity={0.5}
/>
</Flex>
)}
</Box>
);
}

View File

@@ -0,0 +1,50 @@
import { Badge, Link, Text } from '@chakra-ui/react';
import siteConfig from '../../content/site.json';
import { event } from '../../lib/gtag';
import React from 'react';
export function NewAlertBanner() {
return (
<Text
_hover={{
textDecoration: 'none',
color: 'blue.700',
'& .new-badge': { bg: 'blue.700' },
}}
as={Link}
href={siteConfig.url.youtube}
d="block"
target="_blank"
color="red.700"
fontSize="sm"
mb="10px"
fontWeight={500}
onClick={() =>
event({
category: 'Subscription',
action: 'Clicked the YouTube banner',
label: 'YouTube Alert on Roadmap',
})
}
>
<Badge
transition={'all 300ms'}
className="new-badge"
mr="7px"
colorScheme="red"
variant="solid"
>
New
</Badge>
<Text textDecoration="underline" as="span" d={['none', 'inline']}>
Roadmap topics to be covered on our YouTube Channel
</Text>
<Text textDecoration="underline" as="span" d={['inline', 'none']}>
Topic videos being made on YouTube
</Text>
<Text as="span" ml="5px">
&raquo;
</Text>
</Text>
);
}

View File

@@ -0,0 +1,26 @@
import { RoadmapType } from '../../lib/roadmap';
import { Container, Heading, Link, Text } from '@chakra-ui/react';
import siteConfig from '../../content/site.json';
type RoadmapProps = {
roadmap: RoadmapType;
};
export function RoadmapError(props: RoadmapProps) {
const { roadmap } = props;
return (
<Container
bg={'red.600'}
maxW={'container.md'}
position="relative"
mt="50px"
p='20px'
rounded='5px'
color='white'
>
<Heading mb='4px' size='md'>Oops! There&apos;s an error</Heading>
<Text>Try refreshing or <Link target='_blank' fontWeight={700} textDecoration={'underline'} fontSize='14px' href={siteConfig.url.issue}>report a bug</Link> and use the <Link fontWeight={700} textDecoration={'underline'} href={`/roadmaps/${roadmap.id}.png`}>non-interactive version</Link></Text>
</Container>
);
}

View File

@@ -0,0 +1,20 @@
import { Container, Spinner } from '@chakra-ui/react';
export function RoadmapLoader() {
return (
<Container
maxW={'container.md'}
position="relative"
mt="60px"
textAlign="center"
>
<Spinner
thickness="7px"
speed="0.65s"
emptyColor="gray.200"
color="gray.500"
size="xl"
/>
</Container>
);
}

View File

@@ -0,0 +1,130 @@
import siteConfig from '../../content/site.json';
import { isInteractiveRoadmap, RoadmapType } from '../../lib/roadmap';
import { NewAlertBanner } from './new-alert-banner';
import {
Badge,
Box,
Button,
Container,
Flex,
Heading,
Link,
Stack,
Text,
} from '@chakra-ui/react';
import { ChatIcon, AtSignIcon, DownloadIcon } from '@chakra-ui/icons';
import React from 'react';
type RoadmapPageHeaderType = {
roadmap: RoadmapType;
};
export function RoadmapPageHeader(props: RoadmapPageHeaderType) {
const { roadmap } = props;
return (
<Box
pt={['25px', '20px', '45px']}
pb={['20px', '15px', '30px']}
borderBottomWidth={1}
mb="30px"
>
<Container maxW="container.md" position="relative">
<NewAlertBanner />
<Heading
as="h1"
color="black"
fontSize={['28px', '33px', '40px']}
fontWeight={700}
mb={['2px', '2px', '5px']}
>
{roadmap.title}
</Heading>
<Text fontSize={['13px', '14px', '15px']}>{roadmap.description}</Text>
<Flex justifyContent="space-between" alignItems={'center'} mt="20px">
<Stack isInline flex={1}>
<Button
d={['flex', 'flex']}
as={Link}
href={'/roadmaps'}
size="xs"
py="14px"
px="10px"
colorScheme="teal"
variant="solid"
_hover={{ textDecoration: 'none' }}
>
&larr;
<Text as="span" d={['none', 'inline']} ml="5px">
All Roadmaps
</Text>
</Button>
{roadmap.pdfUrl && (
<Button
as={Link}
href={roadmap.pdfUrl}
target="_blank"
size="xs"
py="14px"
px="10px"
leftIcon={<DownloadIcon />}
d={['none', 'flex']}
colorScheme="yellow"
variant="solid"
_hover={{ textDecoration: 'none' }}
>
Download
</Button>
)}
<Button
as={Link}
href={'/signup'}
size="xs"
py="14px"
px="10px"
variant="solid"
colorScheme="yellow"
leftIcon={<AtSignIcon />}
_hover={{ textDecoration: 'none' }}
>
Subscribe
</Button>
<Box flex={1} justifyContent='flex-end' d='flex'>
<Button
as={Link}
href={`${siteConfig.url.issue}?title=[Suggestion] ${roadmap.title}`}
target='_blank'
size="xs"
py="14px"
px="10px"
colorScheme="green"
leftIcon={<ChatIcon />}
_hover={{ textDecoration: 'none' }}
>
Suggest Changes
</Button>
</Box>
</Stack>
</Flex>
{isInteractiveRoadmap(roadmap.id) && (
<Text
mt="30px"
mb={['-37px', '-32px', '-47px']}
fontWeight={500}
fontSize="14px"
bg="white"
borderWidth={1}
p="5px 7px"
rounded="3px"
>
<Badge pos="relative" top={'-1px'} mr="6px" colorScheme="yellow">
New
</Badge>
Resources are here, try clicking any nodes.
</Text>
)}
</Container>
</Box>
);
}

View File

@@ -1,25 +1,27 @@
import { Flex, Link, Text } from '@chakra-ui/react';
import YouTubeLogo from '../components/icons/youtube.svg';
import siteConfig from '../content/site.json';
import { event } from '../lib/gtag';
export function StickyBanner() {
return (
<Flex as={Link}
href={siteConfig.url.youtube}
bg={'yellow.300'}
bg={'yellow.200'}
color='gray.900'
// bg={'teal.900'}
// color='gray.300'
alignItems='center'
position='fixed'
left={0}
right={0}
position='sticky'
top={0}
zIndex={999}
justifyContent='center'
py='8px'
_hover={{ textDecoration: 'none', bg: 'yellow.400' }}
// _hover={{ textDecoration: 'none', bg: 'teal.800', color: 'gray.100' }}
target='_blank'
onClick={() => event({
category: 'Subscription',
action: 'Clicked the YouTube banner',
label: 'Sticky YouTube banner on Top'
})}
>
<YouTubeLogo style={{ height: '20px', display: 'inline-block', marginRight: '7px' }} />
<Text as='span' fontWeight={500} fontSize='14px'>

View File

@@ -1,40 +0,0 @@
import { Box, Button, Container, Flex, Heading, Link, Text } from '@chakra-ui/react';
import siteConfig from '../content/site.json';
export function UpdatesBanner() {
return (
<Box borderTopWidth={1} mt='60px' pt={['40px', '40px', '70px']} pb={['40px', '45px', '80px']} textAlign='left'
bg='gray.800'>
<Container maxW='container.md'>
<Heading color={'gray.100'} fontSize={['25px', '25px', '35px']} mb={['5px', '5px', '15px']}>Stay
Informed</Heading>
<Text color='gray.400' lineHeight='26px' fontSize={['15px', '15px', '16px']} mb='20px'>Subscribe yourself to get
updates, new
guides, videos and roadmaps in your inbox.</Text>
<Flex flexDirection={['column', 'column', 'row']}>
<Box mr={['0', '0', '20px']} mb={['15px', '15px', 0]}>
<Button as={Link} href='/signup' width={['full', 'auto']} fontSize={['14px', '14px', '16px']}
variant='outline' borderWidth={2}
colorScheme='green' _hover={{ color: 'green.200', textDecoration: 'none' }}>
Subscribe to Updates
</Button>
<Text color='gray.500' fontSize='13px' mt='5px'>Free subscription for updates</Text>
</Box>
<Box>
<Button as={Link}
href={siteConfig.url.sponsor}
target='_blank'
width={['full', 'auto']}
fontSize={['14px', '14px', '16px']}
_hover={{ textDecoration: 'none', bg: 'yellow.500' }}
colorScheme='yellow'>Updates & Paid Content</Button>
<Text color='gray.500' fontSize='13px' mt='5px'>Support the project by paying as little as <Text as='span'
fontWeight={600}>5$
per month</Text></Text>
</Box>
</Flex>
</Container>
</Box>
);
}

View File

@@ -5,8 +5,8 @@ type VideoGridItemProps = {
title: string;
subtitle: string;
date: string;
target?: string;
isNew?: boolean;
isPro?: boolean;
colorIndex?: number;
};
@@ -53,14 +53,13 @@ const bgColorList = [
];
export function VideoGridItem(props: VideoGridItemProps) {
const { title, subtitle, date, isNew = false, isPro = false, colorIndex = 0, href } = props;
const { title, subtitle, date, isNew = false, colorIndex = 0, href, target } = props;
return (
<Box _hover={{ textDecoration: 'none', transform: 'scale(1.02)' }} as={Link} href={ href } shadow='xl' p='20px'
<Box _hover={{ textDecoration: 'none', transform: 'scale(1.02)' }} as={Link} href={ href } target={target || '_self'} shadow='xl' p='20px'
rounded='10px' bg={bgColorList[colorIndex] ?? bgColorList[0]} flex={1}>
<Text mb='7px' fontSize='12px' color='gray.400'>
{isNew && <Badge colorScheme={'yellow'} mr='10px'>New</Badge>}
{isPro && <Badge colorScheme={'blue'} mr='10px'>PRO</Badge>}
{isNew && <Badge colorScheme={'green'} mr='10px'>New</Badge>}
{date}
</Text>
<Heading color='white' mb={'6px'} fontSize='20px' lineHeight={'28px'}>{title}</Heading>

View File

@@ -39,5 +39,11 @@
"name": "Alexey Lesovsky",
"bio": "Linux system administrator and PostgreSQL DBA at DataEgret.",
"picture": "/authors/lesovsky.jpeg"
},
{
"username": "danielgruesso",
"name": "Daniel Gruesso",
"bio": "Product manager working on blockchain and smart contracts developer tools",
"picture": "/authors/danielgruesso.jpg"
}
]

View File

@@ -1,9 +1,18 @@
[
{
"id": "avoid-render-blocking-javascript-with-async-defer",
"title": "Async and Defer Script Loading",
"description": "Learn how to avoid render blocking JavaScript using async and defer scripts.",
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2021-09-10T19:59:14.191Z",
"createdAt": "2021-09-10T19:59:14.191Z"
},
{
"id": "what-are-web-vitals",
"title": "What are Web Vitals?",
"description": "Learn what are the core web vitals and how to measure them.",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2021-09-05T19:59:14.191Z",
"createdAt": "2021-09-05T19:59:14.191Z"
@@ -12,7 +21,7 @@
"id": "what-is-sli-slo-sla",
"title": "SLIs, SLOs and SLAs",
"description": "Learn what are different indicators for performance identification of any service.",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2021-08-31T19:59:14.191Z",
"createdAt": "2021-08-31T19:59:14.191Z"
@@ -21,179 +30,179 @@
"id": "ci-cd",
"title": "What is CI and CD?",
"description": "Learn the basics of CI/CD and how to implement that with GitHub Actions.",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-07-09T19:59:14.191Z",
"createdAt": "2020-07-09T19:59:14.191Z"
"updatedAt": "2021-07-09T19:59:14.191Z",
"createdAt": "2021-07-09T19:59:14.191Z"
},
{
"id": "sso",
"title": "SSO — Single Sign On",
"description": "Learn the basics of SAML and understand how does Single Sign On work.",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-07-01T19:59:14.191Z",
"createdAt": "2020-07-01T19:59:14.191Z"
"updatedAt": "2021-07-01T19:59:14.191Z",
"createdAt": "2021-07-01T19:59:14.191Z"
},
{
"id": "oauth",
"title": "OAuth — Open Authorization",
"description": "Learn and understand what is OAuth and how it works",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-06-28T19:59:14.191Z",
"createdAt": "2020-06-28T19:59:14.191Z"
"updatedAt": "2021-06-28T19:59:14.191Z",
"createdAt": "2021-06-28T19:59:14.191Z"
},
{
"id": "jwt-authentication",
"title": "JWT Authentication",
"description": "Understand what is JWT authentication and how is it implemented",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-06-20T19:59:14.191Z",
"createdAt": "2020-06-20T19:59:14.191Z"
"updatedAt": "2021-06-20T19:59:14.191Z",
"createdAt": "2021-06-20T19:59:14.191Z"
},
{
"id": "token-authentication",
"title": "Token Based Authentication",
"description": "Understand what is token based authentication and how it is implemented",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-06-02T20:59:14.191Z",
"createdAt": "2020-06-02T20:59:14.191Z"
"updatedAt": "2021-06-02T20:59:14.191Z",
"createdAt": "2021-06-02T20:59:14.191Z"
},
{
"id": "session-authentication",
"title": "Session Based Authentication",
"description": "Understand what is session based authentication and how it is implemented",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-05-26T20:59:14.191Z",
"createdAt": "2020-05-26T20:59:14.191Z"
"updatedAt": "2021-05-26T20:59:14.191Z",
"createdAt": "2021-05-26T20:59:14.191Z"
},
{
"id": "basic-authentication",
"title": "Basic Authentication",
"description": "Understand what is basic authentication and how it is implemented",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-05-19T20:59:14.191Z",
"createdAt": "2020-05-19T20:59:14.191Z"
"updatedAt": "2021-05-19T20:59:14.191Z",
"createdAt": "2021-05-19T20:59:14.191Z"
},
{
"id": "character-encodings",
"title": "Character Encodings",
"description": "Covers the basics of character encodings and explains ASCII vs Unicode",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-05-14T20:59:14.191Z",
"createdAt": "2020-05-14T20:59:14.191Z"
"updatedAt": "2021-05-14T20:59:14.191Z",
"createdAt": "2021-05-14T20:59:14.191Z"
},
{
"id": "unfamiliar-codebase",
"title": "Unfamiliar Codebase",
"description": "Tips on getting getting familiar with an unfamiliar codebase",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-05-04T20:59:14.191Z",
"createdAt": "2020-05-04T20:59:14.191Z"
"updatedAt": "2021-05-04T20:59:14.191Z",
"createdAt": "2021-05-04T20:59:14.191Z"
},
{
"id": "why-build-it-and-they-will-come-wont-work-anymore",
"title": "Build it and they will come?",
"description": "Why “build it and they will come” alone wont work anymore",
"isPro": false,
"isNew": false,
"authorUsername": "spekulatius",
"updatedAt": "2020-05-04T12:59:14.191Z",
"createdAt": "2020-05-04T12:59:14.191Z"
"updatedAt": "2021-05-04T12:59:14.191Z",
"createdAt": "2021-05-04T12:59:14.191Z"
},
{
"id": "dhcp-in-one-picture",
"title": "DHCP in One Picture",
"description": "Here is what happens when a new device joins the network.",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-04-28T15:48:21.191Z",
"createdAt": "2020-04-28T15:48:21.191Z"
"updatedAt": "2021-04-28T15:48:21.191Z",
"createdAt": "2021-04-28T15:48:21.191Z"
},
{
"id": "ssl-tls-https-ssh",
"title": "SSL vs TLS vs SSH",
"description": "Quick tidbit on the differences between SSL, TLS, HTTPS and SSH",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-04-22T15:48:21.191Z",
"createdAt": "2020-04-22T15:48:21.191Z"
"updatedAt": "2021-04-22T15:48:21.191Z",
"createdAt": "2021-04-22T15:48:21.191Z"
},
{
"id": "asymptotic-notation",
"title": "Asymptotic Notation",
"description": "Learn the basics of measuring the time and space complexity of algorithms",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-04-03T15:48:21.191Z",
"createdAt": "2020-04-03T15:48:21.191Z"
"updatedAt": "2021-04-03T15:48:21.191Z",
"createdAt": "2021-04-03T15:48:21.191Z"
},
{
"id": "big-o-notation",
"title": "Big-O Notation",
"description": "Easy to understand explanation of Big-O notation without any fancy terms",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-03-15T15:48:21.191Z",
"createdAt": "2020-03-15T15:48:21.191Z"
"updatedAt": "2021-03-15T15:48:21.191Z",
"createdAt": "2021-03-15T15:48:21.191Z"
},
{
"id": "random-numbers",
"title": "Random Numbers: Are they?",
"description": "Learn how they are generated and why they may not be truly random.",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-03-14T15:48:21.191Z",
"createdAt": "2020-03-14T15:48:21.191Z"
"updatedAt": "2021-03-14T15:48:21.191Z",
"createdAt": "2021-03-14T15:48:21.191Z"
},
{
"id": "scaling-databases",
"title": "Scaling Databases",
"description": "Learn the ups and downs of different database scaling strategies",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2020-02-18T15:48:21.191Z",
"createdAt": "2020-02-18T15:48:21.191Z"
"updatedAt": "2021-02-18T15:48:21.191Z",
"createdAt": "2021-02-18T15:48:21.191Z"
},
{
"id": "what-is-internet",
"title": "How does the internet work?",
"description": "Learn the basics of internet and everything involved with this short video series",
"isPro": false,
"isNew": false,
"authorUsername": "dmytrobol",
"updatedAt": "2020-02-29T15:48:21.191Z",
"createdAt": "2020-02-29T15:48:21.191Z"
"updatedAt": "2021-02-29T15:48:21.191Z",
"createdAt": "2021-02-29T15:48:21.191Z"
},
{
"id": "torrent-client",
"title": "Building a BitTorrent Client",
"description": "Learn everything you need to know about BitTorrent by writing a client in Go",
"isPro": false,
"isNew": false,
"authorUsername": "jesse",
"updatedAt": "2020-01-17T15:48:21.191Z",
"createdAt": "2020-01-17T15:48:21.191Z",
"updatedAt": "2021-01-17T15:48:21.191Z",
"createdAt": "2021-01-17T15:48:21.191Z",
"canonical": "https://blog.jse.li/posts/torrent/"
},
{
"id": "levels-of-seniority",
"title": "Levels of Seniority",
"description": "How to Step Up as a Junior, Mid Level or a Senior Developer?",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2019-12-03T12:13:00.860Z",
"createdAt": "2019-12-03T12:13:00.860Z"
"updatedAt": "2020-12-03T12:13:00.860Z",
"createdAt": "2020-12-03T12:13:00.860Z"
},
{
"id": "design-patterns-for-humans",
"title": "Design Patterns for Humans",
"description": "A language agnostic, ultra-simplified explanation to design patterns",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2019-10-09T12:00:00.860Z",
"createdAt": "2019-01-23T17:00:00.860Z"
@@ -202,7 +211,7 @@
"id": "journey-to-http2",
"title": "Journey to HTTP/2",
"description": "The evolution of HTTP. How it all started and where we stand today",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"createdAt": "2018-12-04T12:00:00.860Z",
"updatedAt": "2018-12-04T12:00:00.860Z",
@@ -212,7 +221,7 @@
"id": "dns-in-one-picture",
"title": "DNS in One Picture",
"description": "Quick illustrative guide on how a website is found on the internet.",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"updatedAt": "2018-12-04T12:00:00.860Z",
"createdAt": "2018-12-04T17:00:00.860Z"
@@ -221,7 +230,7 @@
"id": "http-caching",
"title": "HTTP Caching",
"description": "Everything you need to know about web caching",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"createdAt": "2018-11-29T17:00:00.860Z",
"updatedAt": "2018-11-29T17:00:00.860Z"
@@ -230,7 +239,7 @@
"id": "history-of-javascript",
"title": "Brief History of JavaScript",
"description": "How JavaScript was introduced and evolved over the years",
"isPro": false,
"isNew": false,
"authorUsername": "kamranahmedse",
"createdAt": "2017-10-28T17:00:00.860Z",
"updatedAt": "2017-10-28T17:00:00.860Z"
@@ -239,9 +248,9 @@
"id": "proxy-servers",
"title": "Proxy Servers",
"description": "How do proxy servers work and what are forward and reverse proxies?",
"isPro": false,
"isNew": false,
"authorUsername": "ebrahimbharmal007",
"createdAt": "2020-07-24T12:40:18",
"updatedAt": "2020-07-24T12:40:18"
"createdAt": "2017-10-24T17:00:00.860Z",
"updatedAt": "2017-10-24T17:00:00.860Z"
}
]

View File

@@ -13,4 +13,3 @@ Asymptotic notation is the standard way of measuring the time and space that an
[![](/guides/asymptotic-notation.png)](/guides/asymptotic-notation.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1243861514907418624) where this image was posted.

View File

@@ -0,0 +1,2 @@
[![](/guides/avoid-render-blocking-javascript-with-async-defer.png)](/guides/avoid-render-blocking-javascript-with-async-defer.png)

View File

@@ -1,3 +1,2 @@
[![](/guides/basic-authentication.png)](/guides/basic-authentication.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1261783266044063748) where this image was posted.

View File

@@ -2,4 +2,3 @@ Big-O notation is the mathematical notation that helps analyse the algorithms to
[![](/guides/big-o-notation.png)](/guides/big-o-notation.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1235708842610212864) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/character-encodings.png)](/guides/character-encodings.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1259631582362689537) where this image was posted.

View File

@@ -2,4 +2,3 @@ The image below details the differences between the continuous integration and c
[![](/guides/ci-cd.png)](/guides/ci-cd.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1282806173939511298) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/dhcp.png)](/guides/dhcp.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1254142557417857025) where this image was posted.

View File

@@ -93,7 +93,7 @@ After merely 3 years of `HTTP/1.0`, the next version i.e. `HTTP/1.1` was release
- **Pipelining** It also introduced the support for pipelining, where the client could send multiple requests to the server without waiting for the response from server on the same connection and server had to send the response in the same sequence in which requests were received. But how does the client know that this is the point where first response download completes and the content for next response starts, you may ask! Well, to solve this, there must be `Content-Length` header present which clients can use to identify where the response ends and it can start waiting for the next response.
> It should be noted that in order to benefit from persistent connections or pipelining, `Content-Length` header must be available on the response, because this would let the client know when the transmission completes and it can send the next request (in normal sequential way of sending requests) or start waiting for the the next response (when pipelining is enabled).
> It should be noted that in order to benefit from persistent connections or pipelining, `Content-Length` header must be available on the response, because this would let the client know when the transmission completes and it can send the next request (in normal sequential way of sending requests) or start waiting for the next response (when pipelining is enabled).
> But there was still an issue with this approach. And that is, what if the data is dynamic and server cannot find the content length before hand? Well in that case, you really can't benefit from persistent connections, could you?! In order to solve this `HTTP/1.1` introduced chunked encoding. In such cases server may omit content-Length in favor of chunked encoding (more to it in a moment). However, if none of them are available, then the connection must be closed at the end of request.

View File

@@ -1,3 +1,2 @@
[![](/guides/jwt-authentication.png)](/guides/jwt-authentication.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1273375903511465990) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/oauth.png)](/guides/oauth.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1276994010423361540) where this image was posted.

View File

@@ -2,4 +2,3 @@ Random numbers are everywhere from computer games to lottery systems, graphics s
[![](/guides/random-numbers.png)](/guides/random-numbers.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1237851549302312962) where this image was posted.

View File

@@ -2,4 +2,3 @@ The chart below aims to give you a really basic understanding of how the capabil
[![](/guides/scaling-databases.svg)](/guides/scaling-databases.svg)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1234209674003611650) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/session-authentication.png)](/guides/session-authentication.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1264113498520465410) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/ssl-tls-https-ssh.png)](/guides/ssl-tls-https-ssh.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1252717722724642822) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/sso.png)](/guides/sso.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1280266408434302979) where this image was posted.

View File

@@ -0,0 +1,8 @@
# Threads and Concurrency
A thread is an execution context in which the instructions to the CPU can be scheduled and executed independently of the parent process. Concurrency is the concept of multiple threads in a shared memory space being computed simultaneously (or intermittently executed in succession to provide that illusion). Concurrency allows multiple processes to execute at once and can apply to programming languages as well as operating systems.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=olYdb0DdGtM'>Threading Tutorial #1 - Concurrency, Threading and Parallelism</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://medium.com/@akhandmishra/operating-system-threads-and-concurrency-aec2036b90f8'>Operating System: Threads and Concurrency</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.mit.edu/6.005/www/fa14/classes/17-concurrency/'>Reading 17: Concurrency</BadgeLink>

View File

@@ -1,3 +1,2 @@
[![](/guides/token-authentication.png)](/guides/token-authentication.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1266832006782103552) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/unfamiliar-codebase.png)](/guides/unfamiliar-codebase.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1256340163573231616) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/web-vitals.png)](/guides/web-vitals.png)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1425476526770987012) where this image was posted.

View File

@@ -1,3 +1,2 @@
[![](/guides/sli-slo-sla.jpeg)](/guides/sli-slo-sla.jpeg)
Here is the [original tweet](https://twitter.com/kamranahmedse/status/1421778722865229824) where this image was posted.

View File

@@ -19,8 +19,8 @@ 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/roadmap.sh). 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.
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?
@@ -37,7 +37,7 @@ creates value for the people.
## 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/roadmap.sh). Your contributions can
source code of the website can be [found on Github](https://github.com/kamranahmedse/developer-roadmap). Your contributions can
be:
* Adding a new roadmap
@@ -51,7 +51,7 @@ be:
* Becoming a sponsor
Just make sure
to [follow the contribution guidelines](https://github.com/kamranahmedse/roadmap.sh/tree/master/contributing) when you
to [follow the contribution guidelines](https://github.com/kamranahmedse/developer-roadmap/tree/master/contributing) when you
decide to contribute.
## Can I redistribute the content?

View File

@@ -1,13 +1,12 @@
[
{
"seo": {
"title": "Learn to become a modern frontend developer",
"description": "Community driven, articles, resources, guides, interview questions, quizzes for modern frontend development. Learn to become a modern frontend developer by following the steps, skills, resources and guides listed in this roadmap.",
"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": [
"frontend roadmap",
"javascript roadmap",
"frontend roadmap 2021",
"javascript roadmap 2021",
"javascript roadmap 2022",
"frontend roadmap 2022",
"frontend developer roadmap 2022",
"guide to becoming a developer",
"guide to becoming a frontend developer",
"frontend developer",
@@ -17,6 +16,7 @@
"javascript developer",
"frontend development skills",
"frontend development skills test",
"frontend roadmap",
"frontend engineer roadmap",
"frontend developer roadmap",
"become a frontend developer",
@@ -32,27 +32,34 @@
]
},
"title": "Frontend Developer",
"description": "Step by step guide to becoming a modern frontend developer in 2021",
"description": "Step by step guide to becoming a modern frontend developer in 2022",
"featuredTitle": "Frontend",
"featuredDescription": "Step by step guide to becoming a frontend developer in 2021",
"featuredDescription": "Step by step guide to becoming a frontend developer in 2022",
"type": "role",
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"featured": true,
"imagePath": "/roadmaps/frontend.png",
"resourcesPath": "/roadmaps/1-frontend/resources.md",
"pdfUrl": "https://kamranahmedse.gumroad.com/l/frontend-roadmap",
"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",
"id": "frontend",
"metaPath": "/roadmaps/100-frontend/meta.json",
"isUpcoming": false
},
{
"seo": {
"title": "Learn to become a modern backend developer",
"description": "Community driven, articles, resources, guides, interview questions, quizzes for modern backend development. Learn to become a modern backend developer by following the steps, skills, resources and guides listed in this roadmap.",
"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 2022",
"backend developer roadmap 2022",
"guide to becoming a developer",
"guide to becoming a backend developer",
"backend roadmap",
"backend developer",
"backend engineer",
"backend skills",
@@ -75,18 +82,22 @@
]
},
"title": "Backend Developer",
"description": "Step by step guide to becoming a modern backend developer in 2021",
"description": "Step by step guide to becoming a modern backend developer in 2022",
"type": "role",
"featuredTitle": "Backend",
"featuredDescription": "Step by step guide to becoming a backend developer in 2021",
"featuredDescription": "Step by step guide to becoming a backend developer in 2022",
"featured": true,
"imagePath": "/roadmaps/backend.png",
"resourcesPath": "/roadmaps/2-backend/resources.md",
"imageUrl": "/roadmaps/backend.png",
"jsonUrl": "/project/backend.json",
"resourcesPath": "/roadmaps/101-backend/resources.md",
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "https://kamranahmedse.gumroad.com/l/backend-roadmap",
"pdfUrl": "/pdfs/backend.pdf",
"contentPathsFilePath": "/roadmaps/101-backend/content-paths.json",
"id": "backend",
"metaPath": "/roadmaps/101-backend/meta.json",
"isUpcoming": false
},
{
@@ -94,6 +105,9 @@
"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 2022",
"sre roadmap 2022",
"operations roadmap 2022",
"guide to becoming a devops enginer",
"devops roadmap",
"sre roadmap",
@@ -112,12 +126,14 @@
]
},
"title": "DevOps Roadmap",
"description": "Step by step guide for DevOps, SRE or any other Operations Role in 2021",
"description": "Step by step guide for DevOps, SRE or any other Operations Role in 2022",
"featuredTitle": "DevOps",
"featuredDescription": "Step by step guide for DevOps or operations role in 2021",
"type": "role",
"featuredDescription": "Step by step guide for DevOps or operations role in 2022",
"featured": true,
"imagePath": "/roadmaps/devops.png",
"resourcesPath": "/roadmaps/3-devops/resources.md",
"imageUrl": "/roadmaps/devops.png",
"jsonUrl": "/project/devops.json",
"resourcesPath": "/roadmaps/102-devops/resources.md",
"versions": [
"latest",
"2018",
@@ -127,8 +143,10 @@
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "https://kamranahmedse.gumroad.com/l/devops-roadmap",
"pdfUrl": "/pdfs/devops.pdf",
"contentPathsFilePath": "/roadmaps/102-devops/content-paths.json",
"id": "devops",
"metaPath": "/roadmaps/102-devops/meta.json",
"isUpcoming": false
},
{
@@ -136,6 +154,8 @@
"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 2022",
"react developer roadmap 2022",
"guide to becoming a react developer",
"react developer roadmap",
"react roadmap",
@@ -150,14 +170,15 @@
]
},
"title": "React Developer",
"description": "Everything that is there to learn about React and the ecosystem in 2021.",
"description": "Everything that is there to learn about React and the ecosystem in 2022.",
"featuredTitle": "React",
"featuredDescription": "Step by step guide to become a React Developer in 2021",
"type": "tool",
"featuredDescription": "Step by step guide to become a React Developer in 2022",
"isTextHeavy": false,
"isCommunity": false,
"featured": true,
"contentPath": "/roadmaps/4-react/landscape.md",
"resourcesPath": "/roadmaps/4-react/resources.md",
"resourcesPath": "/roadmaps/103-react/resources.md",
"jsonUrl": "/project/react.json",
"versions": [
"latest",
"2018",
@@ -167,10 +188,297 @@
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "https://kamranahmedse.gumroad.com/l/react-roadmap",
"pdfUrl": "/pdfs/react.pdf",
"contentPathsFilePath": "/roadmaps/103-react/content-paths.json",
"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 2022.",
"featuredTitle": "Angular",
"type": "tool",
"featuredDescription": "Step by step guide to become a Angular Developer in 2022",
"isTextHeavy": false,
"isCommunity": false,
"featured": true,
"jsonUrl": "/project/angular.json",
"landingPath": "/roadmaps/104-angular/landscape.md",
"resourcesPath": "/roadmaps/104-angular/resources.md",
"versions": [
"latest",
"2018",
"2017"
],
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "/pdfs/angular.pdf",
"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 2022.",
"featuredTitle": "Vue",
"type": "tool",
"featuredDescription": "Step by step guide to become a Vue Developer in 2022",
"isTextHeavy": false,
"isCommunity": false,
"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",
"id": "vue",
"metaPath": "/roadmaps/105-vue/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 2022",
"featuredTitle": "Android",
"type": "role",
"featuredDescription": "Step by step guide to becoming an Android Developer in 2022",
"isTextHeavy": true,
"isCommunity": false,
"featured": true,
"jsonUrl": "/project/android.json",
"landingPath": "/roadmaps/106-android/landscape.md",
"resourcesPath": "/roadmaps/106-android/resources.md",
"versions": [
"latest",
"2018",
"2017"
],
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"id": "android",
"metaPath": "/roadmaps/106-android/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 2022",
"featuredTitle": "Python",
"type": "tool",
"featuredDescription": "Step by step guide to becoming a Python Developer in 2022",
"isTextHeavy": true,
"isCommunity": false,
"featured": true,
"jsonUrl": "/project/python.json",
"resourcesPath": "/roadmaps/107-python/resources.md",
"pdfUrl": "/pdfs/python.pdf",
"versions": [
"latest"
],
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"contentPathsFilePath": "/roadmaps/107-python/content-paths.json",
"id": "python",
"metaPath": "/roadmaps/107-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 React 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 2022",
"featuredTitle": "Go",
"type": "tool",
"featuredDescription": "Step by step guide to becoming a Go developer in 2022",
"isTextHeavy": false,
"isCommunity": false,
"isUpcoming": false,
"featured": true,
"jsonUrl": "/project/golang.json",
"landingPath": "/roadmaps/108-golang/landscape.md",
"resourcesPath": "/roadmaps/108-golang/resources.md",
"pdfUrl": "/pdfs/go.pdf",
"versions": [
"latest",
"2018",
"2017"
],
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"id": "golang",
"metaPath": "/roadmaps/108-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 2022",
"featuredTitle": "Java",
"type": "tool",
"featuredDescription": "Step by step guide to becoming a Java Developer in 2022",
"isTextHeavy": false,
"isCommunity": false,
"isUpcoming": false,
"featured": true,
"jsonUrl": "/project/java.json",
"resourcesPath": "/roadmaps/109-java/resources.md",
"versions": [
"latest",
"2018",
"2017"
],
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "/pdfs/java.pdf",
"contentPathsFilePath": "/roadmaps/109-java/content-paths.json",
"id": "java",
"metaPath": "/roadmaps/109-java/meta.json"
},
{
"seo": {
"title": "DBA Roadmap: Learn to become a database administrator with PostgreSQL",
@@ -197,60 +505,76 @@
]
},
"title": "PostgreSQL DBA",
"description": "Step by step guide to becoming a modern PostgreSQL DB Administrator in 2021",
"description": "Step by step guide to becoming a modern PostgreSQL DB Administrator in 2022",
"featuredTitle": "DBA",
"featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2021",
"contentPath": "/roadmaps/5-postgresql-dba/landscape.md",
"resourcesPath": "/roadmaps/5-postgresql-dba/resources.md",
"type": "role",
"featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2022",
"landingPath": "/roadmaps/110-postgresql-dba/landscape.md",
"resourcesPath": "/roadmaps/110-postgresql-dba/resources.md",
"author": {
"name": "Alexey Lesovsky",
"url": "https://github.com/lesovsky"
},
"isCommunity": true,
"isCommunity": false,
"isTextHeavy": true,
"featured": true,
"detailed": false,
"versions": [],
"id": "postgresql-dba",
"metaPath": "/roadmaps/110-postgresql-dba/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.",
"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": [
"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"
"blockchain roadmap 2022",
"web3 developer roadmap",
"web3 developer roadmap 2022",
"web3 roadmap",
"blockchain developer roadmap 2022",
"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": "Android Developer",
"description": "Step by step guide to becoming an Android developer in 2021",
"featuredTitle": "Android",
"featuredDescription": "Step by step guide to becoming an Android Developer in 2021",
"isTextHeavy": true,
"isCommunity": true,
"title": "Blockchain Developer",
"description": "Step by step guide to becoming a blockchain developer in 2022.",
"featuredTitle": "Blockchain",
"featuredDescription": "Step by step guide to becoming a blockchain developer in 2022",
"featured": true,
"contentPath": "/roadmaps/6-android/landscape.md",
"resourcesPath": "/roadmaps/6-android/resources.md",
"versions": [
"latest",
"2018",
"2017"
],
"type": "role",
"imageUrl": "/roadmaps/blockchain.png",
"jsonUrl": "/project/blockchain.json",
"resourcesPath": "/roadmaps/112-blockchain/resources.md",
"author": {
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
"name": "Daniel Gruesso",
"url": "https://twitter.com/danielgruesso"
},
"id": "android",
"pdfUrl": "/pdfs/blockchain.pdf",
"contentPathsFilePath": "/roadmaps/112-blockchain/content-paths.json",
"id": "blockchain",
"metaPath": "/roadmaps/112-blockchain/meta.json",
"isUpcoming": false
},
{
@@ -273,16 +597,18 @@
]
},
"title": "QA Engineer",
"description": "Steps to follow in order to become a modern QA Engineer in 2021",
"description": "Steps to follow in order to become a modern QA Engineer in 2022",
"featuredTitle": "QA",
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2021",
"type": "role",
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2022",
"isUpcoming": true,
"contentPath": "/roadmaps/7-qa/landscape.md",
"resourcesPath": "/roadmaps/7-qa/resources.md",
"featured": true,
"resourcesPath": "/roadmaps/113-qa/resources.md",
"author": {
"name": "Anas Fitiani",
"url": "https://github.com/anas-qa"
},
"id": "qa"
"id": "qa",
"metaPath": "/roadmaps/113-qa/meta.json"
}
]
]

View File

@@ -1,76 +0,0 @@
<div className='alert alert-primary' style={{ marginBottom: '-10px'}}>
This page is incomplete and is being worked upon. Please check back later or <a href='/signup'>subscribe</a> / <a href='https://twitter.com/kamranahmedse'>follow me on twitter</a> to get notified. Also, feel free to contribute by suggesting the resources in <a href='https://github.com/kamranahmedse/developer-roadmap'>the issues</a>.
</div>
# Become a Frontend Developer
Before I go ahead and list down the resources, please know that the roadmap and the list below is exhaustive and you don't need to know it all from the get go. For frontend development, all you need to get started with is learn some basic HTML, CSS and JavaScript and start working on projects; everything else you will learn along the way.
## Internet and how it works?
Get the basic understanding of internet, browsers, networks and other relevant knowledge.
* <BadgeLink badgeText='Read' href='/guides/what-is-internet'>What is Internet?</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7_LPdttKXPc'>How the internet works in 5 minutes</BadgeLink>
* <BadgeLink badgeText='Read' href='https://kamranahmed.info/blog/2016/08/13/http-in-depth/'>What is HTTP and how it evolved?</BadgeLink>
* <BadgeLink badgeText='Read' href='https://blog.cloudflare.com/http3-the-past-present-and-future/'>HTTP/3: the past, the present, and the future</BadgeLink>
* <BadgeLink badgeText='Read' href='https://kinsta.com/blog/http3/'>What Is HTTP/3 Lowdown on the Fast New UDP-Based Protocol</BadgeLink>
* <BadgeLink badgeText='Read' href='https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/'>How Browsers Work: Behind the scenes of modern web browsers</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=Rck3BALhI5c'>DNS as Fast As Possible</BadgeLink>
* <BadgeLink badgeText='Read' href='https://howdns.works/'>How DNS works?</BadgeLink>
* <BadgeLink badgeText='Read' href='/guides/dns-in-one-picture'>DNS in One Picture</BadgeLink>
## Learn HTML
HTML provides the skeleton of a webpage. Learn the basics of HTML; learn the basic tags, learn how to write semantic HTML, understand basic SEO, learn how to divide your pages into sections that will help you style them.
Please know that I have put multiple links for each resource. While you may pick something new while going through each, you don't need to go through all of them - if you feel like you have understood the concepts and are just repeating what you learnt, you may skip the resource and move to exercises section.
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=UB1O30fR-EE'>HTML Crash Course For Absolute Beginners</BadgeLink>
* <BadgeLink badgeText='Read' href='https://www.w3schools.com/html/default.asp'>W3Schools HTML Tutorial</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=pQN-pnXPaVg'>HTML Full Course - Build a Website Tutorial</BadgeLink>
* <BadgeLink badgeText='Read' href='https://hacks.mozilla.org/2016/08/a-few-html-tips/'>A few HTML tips</BadgeLink>
* <BadgeLink badgeText='Read' href='https://hackernoon.com/six-tips-to-set-up-a-better-html-document-ud1033z3z'>Six tips to set up a better HTML document</BadgeLink>
* <BadgeLink badgeText='Read' href='https://www.w3schools.com/html/html5_semantic_elements.asp'>HTML Semantic Elements</BadgeLink>
* <BadgeLink badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/HTML/Element'>HTML elements reference</BadgeLink>
## Style your pages with CSS
With the help of HTML, you create structure for your pages. CSS allows you to style your pages and make them pretty. If you take the analogy of human body, the skeleton would be the HTML, skin would be the CSS and muscles that help us move would be JavaScript - we will learn more about JavaScript in the coming sections.
* <BadgeLink badgeText='Read' href='https://www.w3schools.com/css/'>W3Schools CSS Tutorial</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=yfoY53QXEnI'>CSS Crash Course For Absolute Beginners</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=Wm6CUkswsNw'>Build An HTML5 Website With A Responsive Layout</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://youtu.be/JJSoEo8JSnc?t=46'>Flexbox CSS In 20 Minutes</BadgeLink>
## Basics of 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. In this section, you will learn the basics of JavaScript.
* <BadgeLink badgeText='Read' href='https://www.w3schools.com/js/'>W3Schools JavaScript Tutorial</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://youtu.be/hdI2bqOjy3c?t=2'>JavaScript Crash Course for Beginners</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://youtu.be/P7t13SGytRk?t=22'>Build a Netflix Landing Page Clone with HTML, CSS & JS</BadgeLink>
## Version Control Systems and Git
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 youve 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.
In this section, you will learn what version control systems are and understand how to use Git which is the de facto VCS.
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=zbKdDsNNOhg'>Version Control System Introduction</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=SWYqp7iY_Tc'>Git & GitHub Crash Course For Beginners</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://youtu.be/Y9XZQO1n_7c?t=21'>Learn Git in 20 Minutes</BadgeLink>
Now that you know what git is go ahead and create an account on [GitHub](https://github.com) and push everything that you do from now on to GitHub so that you can get the practice and get it reviewed from the other people in the community.
## Modern JavaScript
In this section you will learn how to use package managers and get started with the "modern JavaScript".
* <BadgeLink badgeText='Read' href='https://medium.com/the-node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70'>Modern JavaScript for Dinosaurs (Don't worry if you don't understand some parts of it)</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=8Rmj5UY5mJk'>What is NPM and how to use it</BadgeLink>
* <BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=jHDhaSSKmB0'>NPM Crash Course</BadgeLink>
<br />
<br />
<br />
<br />
<br />
<br />

View File

@@ -0,0 +1,136 @@
{
"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",
"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: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: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: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: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:enzyme": "/roadmaps/100-frontend/content/115-testing-your-apps/103-enzyme.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",
"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:performance": "/roadmaps/100-frontend/content/117-progressive-web-apps/101-performance.md",
"progressive-web-apps:apis": "/roadmaps/100-frontend/content/117-progressive-web-apps/100-apis.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: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",
"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: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:gridsome": "/roadmaps/100-frontend/content/120-static-site-generators/106-gridsome.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:proton-native": "/roadmaps/100-frontend/content/122-desktop-applications/102-proton-native.md",
"web-assembly": "/roadmaps/100-frontend/content/123-web-assembly.md"
}

View File

@@ -0,0 +1,11 @@
# Internet
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.vox.com/2014/6/16/18076282/the-internet'>The Internet Explained</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm'>How Does the Internet Work?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Learn/Common_questions/How_does_the_Internet_work'>How Does the Internet Work? MDN Docs</BadgeLink>
<BadgeLink badgeText='Watch' href='/guides/what-is-internet'>Introduction to Internet</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=TNQsmPf24go'>How does the Internet work?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7_LPdttKXPc'>How the Internet Works in 5 Minutes</BadgeLink>

View File

@@ -0,0 +1,11 @@
# What is HTTP?
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/'>What is HTTP?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://howhttps.works'>How HTTPS Works ...in a comic!</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview'>An overview of HTTP</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://kamranahmed.info/blog/2016/08/13/http-in-depth'>Journey to HTTP/2</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/'>HTTP/3 From A To Z: Core Concepts</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=iYM2zFP3Zn0'>HTTP Crash Course & Exploration</BadgeLink>

View File

@@ -0,0 +1,9 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/'>How Browsers Work</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.browserstack.com/guide/browser-rendering-engine'>Role of Rendering Engine in Browsers</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work'>Populating the Page: How Browsers Work</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=WjDrMKZWCt0'>How Do Web Browsers Work?</BadgeLink>

View File

@@ -0,0 +1,11 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/'>What is DNS?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=Wj0od2ag5sk'>DNS and How does it Work?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7lxgpKh_fRY'>DNS Records</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=e48AyJOA9W8'>When to add glue records to DNS settings</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Visit' href='https://messwithdns.net/'>Mess with DNS - DNS Playground</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=YV5tkQYcvfg'>DNS Records for Newbies - How To Manage Website Records</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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 DNS system.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name'>What is a Domain Name?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.cloudflare.com/en-gb/learning/dns/glossary/what-is-a-domain-name/'>What is a Domain Name? | Domain name vs. URL</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=Y4cRx19nhJk'>A Beginners Guide to How Domain Names Work</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=htbY9-yggB0'>What Is Web Hosting? Explained</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=AXVZYzw8geg'>Different Types of Web Hosting Explained</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=Kx_1NYYJS7Q'>Where to Host a Fullstack Project on a Budget</BadgeLink>

View File

@@ -0,0 +1,10 @@
# Internet
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.vox.com/2014/6/16/18076282/the-internet'>The Internet Explained</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm'>How Does the Internet Work?</BadgeLink>
<BadgeLink badgeText='Watch' href='/guides/what-is-internet'>Introduction to Internet</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=x3c1ih2NJEg'>How does the Internet work?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7_LPdttKXPc'>How the Internet Works in 5 Minutes</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' href='https://www.w3schools.com/html/html_intro.asp'>W3Schools: Learn HTML</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.youtube.com/watch?v=pQN-pnXPaVg'>HTML Full Course - Build a Website Tutorial</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.youtube.com/watch?v=qz0aGYrrlhU'>HTML Tutorial for Beginners: HTML Crash Course</BadgeLink>

View File

@@ -0,0 +1,9 @@
# Semantic HTML
Semantic element clearly describes its meaning to both the browser and the developer.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/html/html5_semantic_elements.asp'>W3Schools: Semantic HTML</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://hackernoon.com/how-to-write-semantic-html-dkq3ulo'>How To Write Semantic HTML</BadgeLink>

View File

@@ -0,0 +1,7 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation'>MDN Web Docs: Client-side form validation</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://web.dev/learn/forms/'>Learn Forms by web.dev</BadgeLink>

View File

@@ -0,0 +1,7 @@
# Best Practices
Learn to follow the best practices for writing maintainable and scalable HTML documents.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://github.com/hail2u/html-best-practices'>HTML Best Practices</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Watch' href='https://youtube.com/playlist?list=PLNYkxOF6rcICWx0C9LVWWVqvHlYJyqw7g'>Complete Playlist on Accessibility</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.w3schools.com/accessibility/index.php'>Accessibility Tutorial
</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.smashingmagazine.com/2021/03/complete-guide-accessible-front-end-components/'>A Complete Guide To Accessible Front-End Components</BadgeLink>

View File

@@ -0,0 +1,13 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developers.google.com/search/docs'>Google Search Central — SEO Docs</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/seo/guide'>SEO Guide</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://neilpatel.com/blog/seo-developers/'>8 Must-Know SEO Best Practices For Developers</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://medium.com/welldone-software/seo-for-developers-a-quick-overview-5b5b7ce34679'>SEO for Developers</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=xsVTqzratPs'>Complete SEO Course for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=SnxeXZpZkI0'>SEO Expert Course</BadgeLink>

View File

@@ -0,0 +1,10 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' href='https://www.w3schools.com/html/html_intro.asp'>W3Schools: Learn HTML</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.youtube.com/watch?v=pQN-pnXPaVg'>HTML Full Course - Build a Website Tutorial</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.youtube.com/watch?v=qz0aGYrrlhU'>HTML Tutorial for Beginners: HTML Crash Course</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/learn-html'>Codecademy - Learn HTML</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://github.com/denysdovhan/learnyouhtml'>Interactive HTML Course</BadgeLink>

View File

@@ -0,0 +1,11 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/css/'>W3Schools — Learn CSS</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/learn/responsive-web-design/'>freeCodeCamp — Responsive Web Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://learn.shayhowe.com/html-css/building-your-first-web-page/'>Learn to Code HTML & CSS</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/watch?v=yfoY53QXEnI'>CSS Crash Course For Absolute Beginners</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/watch?v=D-h8L5hgW-w'>HTML and CSS Tutorial</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/watch?v=FqmB-Zj2-PA'>CSS Masterclass - Tutorial & Course for Beginners</BadgeLink>

View File

@@ -0,0 +1,12 @@
# 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:
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://flexboxfroggy.com/'>Learn and Practice Flexbox</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://cssgridgarden.com/'>Game for learning CSS Grid</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://css-tricks.com/all-about-floats/'>All about Floats</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://css-tricks.com/absolute-relative-fixed-positioining-how-do-they-differ/'>Positioning Types: How Do They Differ?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model'>The Box Model</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/the-css-display-property-display-none-display-table-inline-block-and-more/'>The CSS Display Property</BadgeLink>

View File

@@ -0,0 +1,9 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/css/css_rwd_intro.asp'>Responsive Web Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/learn/design/'>Learn Responsive Design</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=srvUrASNj0s'>Introduction To Responsive Web Design</BadgeLink>

View File

@@ -0,0 +1,15 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/css/'>W3Schools — Learn CSS</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web.dev/learn/css/'>Web.dev by Google — Learn CSS</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/learn/responsive-web-design/'>freeCodeCamp — Responsive Web Design</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://learn.shayhowe.com/html-css/building-your-first-web-page/'>Learn to Code HTML & CSS</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/watch?v=yfoY53QXEnI'>CSS Crash Course For Absolute Beginners</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/watch?v=D-h8L5hgW-w'>HTML and CSS Tutorial</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/watch?v=FqmB-Zj2-PA'>CSS Masterclass - Tutorial & Course for Beginners</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://flexbox.io/'>What The Flexbox!</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-css'>Learn CSS | Codecademy</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-intermediate-css'>Learn Intermediate CSS | Codecademy</BadgeLink>

View File

@@ -0,0 +1,9 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.w3schools.com/js/'>W3Schools JavaScript Tutorial</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://javascript.info/'>The Modern JavaScript Tutorial</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/hdI2bqOjy3c?t=2'>JavaScript Crash Course for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/P7t13SGytRk?t=22'>Build a Netflix Landing Page Clone with HTML, CSS & JS</BadgeLink>

View File

@@ -0,0 +1,12 @@
# DOM Manipulation
The Document Object Model (DOM) connects web pages to scripts or programming languages by representing the structure of a document—such as the HTML representing a web page—in memory.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.freecodecamp.org/news/what-is-the-dom-document-object-model-meaning-in-javascript/'>What is the DOM?</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://eloquentjavascript.net/14_dom.html'>Eloquent JavaScript, 3rd Edition: The Document Object Model</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.w3schools.com/js/js_htmldom.asp'>JavaScript HTML DOM</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.javascripttutorial.net/javascript-dom/'>JavaScript DOM</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7Tok22qxPzQ'>What is DOM, Shadow DOM and Virtual DOM?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=0ik6X4DJKCc'>JavaScript DOM Crash Course</BadgeLink>

View File

@@ -0,0 +1,9 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API'>Fetch API MDN Docs</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://www.javascripttutorial.net/javascript-fetch-api/'>A Simple Guide to JavaScript Fetch API</BadgeLink>
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://web.dev/introduction-to-fetch/'>Introduction to Fetch</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=-ZI0ea5O2oA'>JavaScript Fetch API</BadgeLink>

View File

@@ -0,0 +1,9 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.javascripttutorial.net/es6/'>ES6 Tutorial</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=NCwa_xi0Uuc'>Learn Modern JavaScript in 1 Hour</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=nZ1DMMsyVyI'>JavaScript ES6, ES7, ES8</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.youtube.com/watch?v=3PHXvlpOkf4'>Build 15 JavaScript Projects - Vanilla JavaScript</BadgeLink>

View File

@@ -0,0 +1,13 @@
# JavaScript Concepts
Learn and understand the concepts such as Hoisting, Event Bubbling, Scope, Prototype, Shadow DOM and strict.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Glossary/Hoisting'>JavaScript Hoisting</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://javascript.info/bubbling-and-capturing'>Event Bubbling and Capturing</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Glossary/Scope'>Scope in JavaScript</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.freecodecamp.org/news/var-let-and-const-whats-the-difference/'>Var, Let and Const — What's the difference?</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain'>Inheritance and Prototype Chain</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode'>JavaScript Strict Mode</BadgeLink>
<BadgeLink badgeText='Read' href='https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif'>JavaScript Visualized (7 Part Series)</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=7Tok22qxPzQ'>DOM vs Shadow DOM vs Virtual DOM</BadgeLink>

View File

@@ -0,0 +1,10 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.w3schools.com/js/'>W3Schools JavaScript Tutorial</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://javascript.info/'>The Modern JavaScript Tutorial</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/hdI2bqOjy3c?t=2'>JavaScript Crash Course for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/P7t13SGytRk?t=22'>Build a Netflix Landing Page Clone with HTML, CSS & JS</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://github.com/workshopper/javascripting'>Learn the basics of JavaScript</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=zbKdDsNNOhg'>Version Control System Introduction</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=SWYqp7iY_Tc'>Git & GitHub Crash Course For Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/Y9XZQO1n_7c?t=21'>Learn Git in 20 Minutes</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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 youve 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=zbKdDsNNOhg'>Version Control System Introduction</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=SWYqp7iY_Tc'>Git & GitHub Crash Course For Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtu.be/Y9XZQO1n_7c?t=21'>Learn Git in 20 Minutes</BadgeLink>

View File

@@ -0,0 +1,11 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' href='https://docs.github.com/en/get-started/quickstart/hello-world'>GitHub: Quickstart</BadgeLink>
<BadgeLink badgeText='Watch' colorScheme='yellow' href='https://www.youtube.com/watch?v=w3jLJU7DT5E'>What is GitHub?</BadgeLink>
<BadgeLink badgeText='Watch' colorScheme='yellow' href='https://www.youtube.com/watch?v=wpISo9TNjfU'>Git vs. GitHub: What's the difference?</BadgeLink>
<BadgeLink badgeText='Watch' colorScheme='yellow' href='https://www.youtube.com/watch?v=RGOj5yH7evk'>Git and GitHub for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' colorScheme='yellow' href='https://www.youtube.com/watch?v=eulnSXkhE7I'>Git and GitHub - CS50 Beyond 2019</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Visit' colorScheme="green" href='https://gitlab.com/'>GitLab Website</BadgeLink>
<BadgeLink badgeText='Read' href='https://docs.gitlab.com/'>GitLab Documentation</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Visit' colorScheme="green" href='https://bitbucket.com/'>BitBucket Website</BadgeLink>
<BadgeLink badgeText='Read' href='https://bitbucket.org/product/guides'>How to use BitBucket?</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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.
<ResourceGroupTitle>Services Links</ResourceGroupTitle>
<BadgeLink badgeText='Visit' colorScheme="green" href='https://github.com'>GitHub: Where the world builds software</BadgeLink>
<BadgeLink badgeText='Visit' href='https://gitlab.com'>GitLab: Iterate faster, innovate together</BadgeLink>
<BadgeLink badgeText='Visit' href='https://bitbucket.com'>BitBucket: The Git solution for professional teams</BadgeLink>

View File

@@ -0,0 +1,12 @@
# HTTPS
HTTPS is a secure way to send data between a web server and a browser.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/'>What is HTTPS?</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https'>Why HTTPS Matters</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https'>Enabling HTTPS on Your Servers</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=hExRDVZHhig'>SSL, TLS, HTTP, HTTPS Explained</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=GoXgl9r0Kjk'>HTTPS — Stories from the field</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP'>MDN — Content Security Policy (CSP)</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developers.google.com/web/fundamentals/security/csp'>Google Devs — Content Security Policy (CSP)</BadgeLink>

View File

@@ -0,0 +1,6 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS'>CORS — Cross-Origin Resource Sharing</BadgeLink>

View File

@@ -0,0 +1,9 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://en.wikipedia.org/wiki/OWASP'>Wikipedia - OWASP</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://github.com/0xRadi/OWASP-Web-Checklist'>OWASP Web Application Security Testing Checklist</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/'>OWASP Top 10 Security Risks</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html'>OWASP Cheatsheets</BadgeLink>

View File

@@ -0,0 +1,11 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https'>Why HTTPS Matters</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://en.wikipedia.org/wiki/OWASP'>Wikipedia - OWASP</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://github.com/0xRadi/OWASP-Web-Checklist'>OWASP Web Application Security Testing Checklist</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/'>OWASP Top 10 Security Risks</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html'>OWASP Cheatsheets</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP'>Content Security Policy (CSP)</BadgeLink>

View File

@@ -0,0 +1,10 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://peterxjang.com/blog/modern-javascript-explained-for-dinosaurs.html'>Modern JavaScript for Dinosaurs</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://nodesource.com/blog/an-absolute-beginners-guide-to-using-npm/'>An Absolute Beginner's Guide to Using npm</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=2V1UUhBJ62Y'>NPM tutorial for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=jHDhaSSKmB0'>NPM Crash Course</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://github.com/workshopper/how-to-npm'>How to NPM</BadgeLink>

View File

@@ -0,0 +1,8 @@
# 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).
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://peterxjang.com/blog/modern-javascript-explained-for-dinosaurs.html'>Modern JavaScript for Dinosaurs</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://yarnpkg.com/en/docs/getting-started'>Yarn - Getting Started</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=g9_6KmiBISk'>Yarn Crash Course</BadgeLink>

View File

@@ -0,0 +1,13 @@
# 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.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://peterxjang.com/blog/modern-javascript-explained-for-dinosaurs.html'>Modern JavaScript for Dinosaurs</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://nodesource.com/blog/an-absolute-beginners-guide-to-using-npm/'>An Absolute Beginner's Guide to Using npm</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=2V1UUhBJ62Y'>NPM tutorial for Beginners</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=jHDhaSSKmB0'>NPM Crash Course</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://yarnpkg.com/en/docs/getting-started'>Yarn - Getting Started</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=g9_6KmiBISk'>Yarn Crash Course</BadgeLink>

Some files were not shown because too many files have changed in this diff Show More