├── README.md
├── ecommerce_web_app_backend.md
├── ecommerce_web_app_frontend.md
├── images
├── static.png
└── title_image.png
└── music_app.md
/README.md:
--------------------------------------------------------------------------------
1 |
Web Developer Roadmap
2 |
3 | 
4 |
5 | Web Developer Roadmap is a learning path to understand web development, including frontend, backend and cloud(AWS).
6 |
7 | ## How to Learn Web development?
8 |
9 | A web development can be divided into four different parts,
10 |
11 | 1. Database
12 | 2. Backend
13 | 3. Frontend
14 | 4. Cloud(server)
15 |
16 | This roadmap consists of widely used technologies/frameworks for frontend and backend.
17 | It also includes overview about cloud(AWS) and some information about server.
18 |
19 | # Table of contents
20 |
21 | - [Sprint 1 - Basic linux commands, Version control, Web technologies and coding conventions](https://github.com/canopas/web-developer-roadmap#sprint-1---version-control-basic-web-technologies-and-coding-conventions)
22 | - [Sprint 2 - Docker, Databases and PHP](https://github.com/canopas/web-developer-roadmap#sprint-2---docker-databases-and-php)
23 | - [Sprint 3 - Golang](https://github.com/canopas/web-developer-roadmap#sprint-3---golang)
24 | - [Sprint 4 - Node.js](https://github.com/canopas/web-developer-roadmap#sprint-4---nodejs)
25 | - [Sprint 5 - Vue.js](https://github.com/canopas/web-developer-roadmap#sprint-5---vuejs)
26 | - [Sprint 6 - Useful concepts](https://github.com/canopas/web-developer-roadmap#sprint-6---useful-concepts)
27 |
28 | ## Sprint 1 - Basic linux commands, Version control, Web technologies and coding conventions
29 |
30 | ### Practical 1.1 - Basic commands and Version control
31 |
32 | - Write a commands for following operations in terminal
33 | - List all files with details in directory
34 | - Give only read permission to any file
35 | - Give all read and write permissions to any file
36 | - Get IP address of own pc
37 | - Observe disk space usage
38 | - View previously executed commands history
39 | - Linux command to install/uninstall PHP
40 | - Linux command to start/stop mysql service
41 | - Write and save any file from terminal
42 |
43 | - Perform following operations in gitlab
44 | - Create a repository to GitLab
45 | - Check git status of repository
46 | - Commit new/updated files into a git repository
47 | - Push in a git repository
48 | - Pull new changes from repository
49 | - Checkout new branch
50 | - Merge branch into another
51 | - Rebase and Squash
52 | - Create merge request
53 | - Write a command to clone [this](https://github.com/canopas/web-developer-roadmap) repo
54 |
55 | #### References
56 |
57 | - [Basic linux commands](https://www.digitalocean.com/community/tutorials/linux-commands)
58 |
59 | - [What Is Version Control?](https://about.gitlab.com/topics/version-control/)
60 | - How to use git
61 | - [Version control with git](https://www.udacity.com/course/version-control-with-git--ud123)
62 | - [Git: The Beginner's Guide to Understanding Core Version Control Concepts](https://www.freecodecamp.org/news/git-the-laymans-guide-to-understanding-the-core-concepts/)
63 | - [Git commands](https://dzone.com/articles/top-20-git-commands-with-examples)
64 |
65 | ### Practical 1.2 - Basic web technologies with coding conventions
66 |
67 | - UI design with coding standards
68 | - Design static UI given in the [link](https://github.com/canopas/web-developer-roadmap/blob/master/images/static.png)
69 | - Design responsive UI given in the [link](https://www.w3schools.com/w3css/tryw3css_templates_food_blog.htm)
70 |
71 | #### References
72 |
73 | - HTML5
74 |
75 | - [Web development bootcamp course on udemy](https://www.udemy.com/course/the-complete-web-development-bootcamp/learn/lecture/12299746?start=0#overview) - section 2 and 3
76 | - [Basic HTML and HTML5 from Free Code Camp](https://www.freecodecamp.org/)
77 |
78 | - CSS3
79 | - [Web development bootcamp course on udemy](https://www.udemy.com/course/the-complete-web-development-bootcamp/learn/lecture/12299746?start=0#overview) - section 4 and 5
80 | - [Bootstrap from Web development bootcamp course on udemy](https://www.udemy.com/course/the-complete-web-development-bootcamp/learn/lecture/12299746?start=0#overview) - section 6 and 8
81 | - [What is Flexbox?](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
82 | - [Bootstrap from Frontend libraries in Free Code Camp](https://www.freecodecamp.org/)
83 | - [Finish Responsive web design certification course from Free Code Camp](https://www.freecodecamp.org/)
84 |
85 | - Code formatting and best practices
86 | - [25 Most Used VS Code Shortcuts](https://www.crio.do/blog/vs-code-shortcuts/)
87 | - [Code formatting in VS Code](https://mkyong.com/vscode/how-to-format-source-code-in-visual-studio-code-vscode/)
88 | - [Web development best practices](https://code.tutsplus.com/tutorials/30-css-best-practices-for-beginners--net-6741)
89 |
90 |
91 | ### Practical 1.3
92 |
93 | - Unit converter
94 | - Create a unit converter that should take input from users and output the value in the asked unit (conversion units can be centimeters, meters, and kilometers)
95 |
96 | #### References
97 |
98 | - Javascript & jQuery
99 |
100 | - [Basic javascript from Web development bootcamp course on udemy](https://www.udemy.com/course/the-complete-web-development-bootcamp/learn/lecture/12299746?start=0#overview) - section 9 and 10
101 | - [Basic javascript, ES6, Regular expressions, and Debugging from Free Code Camp](https://www.freecodecamp.org/)
102 | - [Web development bootcamp course on udemy](https://www.udemy.com/course/the-complete-web-development-bootcamp/learn/lecture/12299746?start=0#overview) - section 11 and 13
103 | - [JSON, APIs, and ajax from Free Code Camp](https://www.freecodecamp.org/)
104 | - [Finish Javascript algorithms and data structures from Free Code Camp](https://www.freecodecamp.org/)
105 | - [Web development bootcamp course on udemy](https://www.udemy.com/course/the-complete-web-development-bootcamp/learn/lecture/12299746?start=0#overview) - section 14 to 16
106 | - [Finish Frontend libraries projects from Free Code Camp](https://www.freecodecamp.org/)
107 | - Difference between == and ===
108 | - [Basics of jQuery](https://learn.jquery.com/using-jquery-core/)
109 |
110 | - Coding conventions
111 | - [Coding standards-1](https://medium.com/@luqman.qureshi/think-twice-code-once-c49faa8cd18)
112 | - [Coding standards-2](https://google.github.io/styleguide/htmlcssguide.html#:~:text=Use%20only%20lowercase.,with%20the%20exception%20of%20strings)
113 |
114 | ## Sprint 2 - Docker, Databases and PHP
115 |
116 | ### Practical 2.1
117 |
118 | - Install MySQL using Docker
119 | - Install MongoDB using Docker
120 |
121 | #### References
122 |
123 | - [What is docker](https://opensource.com/resources/what-docker)
124 | - [Getting started with docker](https://docs.docker.com/get-started/overview/)
125 | - [Install MySQL using Docker](https://hub.docker.com/_/mysql)
126 | - [Install MongoDB using Docker](https://hub.docker.com/_/mongo/)
127 |
128 | ### Practical 2.2
129 |
130 | - Perform following queries in MySQL
131 |
132 | - Create a table named `students` with fields id, first_name, last_name, standard, percentage, interest, etc... and insert data into it
133 | - Create table `student_attendances` with fields id, created_at, presence/absence fields and insert data into it
134 | - Create a table named `teachers` with fields id, first_name, last_name, subject, interests etc... and insert data into it
135 | - Create table `teachers_attendances` with fields id, created_at, presence/absence fields and insert data into it
136 | - Prepare queries to find student's presence/absence on a particular day
137 | - Find total absence/presence of every student
138 | - Find absent students with a percentage lower than 70.
139 | - Find a student who has higest presence
140 | - Get all student's and teacher's first_name, last_name, full_name, interest, standard, subject and total absence.
141 |
142 | - Perform following queries in MongoDB (Can use [MongoDBPlayground](https://mongoplayground.net/) to peform queries)
143 | - Create a collection named `students` with fields id, first_name, last_name, standard, percentage, interest, etc... and insert data into it
144 | - Form a query to find students with a percentage lower than 70 and interest in sport.
145 | - Count the total students with a percentage above 70
146 |
147 | #### References
148 |
149 | - [Web Development Bootcamp course udemy](https://www.udemy.com/course/the-complete-web-development-bootcamp/learn/lecture/12299746?start=0#overview) - section 24 and 25
150 | - [Mysql Subquery](https://www.mysqltutorial.org/mysql-subquery/) and [Union query](https://www.mysqltutorial.org/sql-union-mysql.aspx)
151 |
152 | ### Practical 2.3
153 |
154 | - Create a Blog application with following requirements using PHP
155 | - It should have two sides
156 | - 1. Admin
157 | - 2. User
158 | - Implement Register and login functionality for both user and admin
159 | - Admin can add posts ( post fields - title, description, created_date, author, category, image )
160 | - Admin can decide which user can see the post
161 | - Added Posts will be visible on user side (latest first)
162 |
163 | #### References
164 |
165 | - [PHP: Language Reference](https://www.php.net/manual/en/langref.php)
166 | - [PHP: Introduction](https://www.w3schools.com/php/)
167 | - [Coding standard](https://flowframework.readthedocs.io/en/stable/TheDefinitiveGuide/PartV/CodingGuideLines/PHP.html)
168 |
169 | #### Basic Concepts
170 |
171 | - Installation WAMP/MAMP/XAMPP
172 | - How it exactly works ?
173 | - Basic Syntax
174 | - Variables, Constants, Operators & Control Structures
175 | - Conditions, Loops, Switch cases
176 | - Arrays, String and various string functions
177 | - Functions
178 | - Includes & Required
179 | - Classes & Objects & Constructors
180 | - Namespaces
181 | - Extensions
182 | - Exceptions
183 | - JSON Encode & Decode
184 | - Sessions
185 | - Cookies
186 | - File Manipulation
187 | - Indexed Array vs Associative Array
188 | - Object vs stdObject
189 | - Timeout of PHP script
190 |
191 | #### Predefined variables
192 |
193 | - http://php.net/manual/en/reserved.variables.php
194 | - $GLOBAL
195 | - $\_SERVER
196 | - $\_GET
197 | - $\_POST
198 | - $\_FILES
199 | - $\_REQUEST
200 | - $\_SESSION
201 | - $\_COOKIE
202 |
203 | #### Advanced options
204 |
205 | - Interfaces
206 | - Traits
207 | - Crons
208 | - Composer
209 | - php.ini tweaks
210 |
211 | #### Keywords
212 |
213 | - Private
214 | - Public
215 | - Static
216 |
217 | ## Sprint 3 - Golang
218 |
219 | ### Practical 3.1
220 |
221 | - Implement [Music App](https://github.com/canopas/web-developer-roadmap/blob/master/music_app.md) with given requirements
222 |
223 | #### Basic concepts
224 |
225 | - [Why Go?](https://yourbasic.org/golang/advantages-over-java-python/)
226 | - [Run the hello world program in Go](https://golang.org/doc/tutorial/getting-started)
227 | - [Go modules](https://golang.org/doc/tutorial/create-module)
228 | - [Gin framework](https://www.educative.io/edpresso/what-is-gin-in-golang)
229 | - Constants, variable types
230 | - Functions, multi return functions, init()
231 | - Packages and import
232 | - Conditional Statements and Loops
233 | - Arrays and slices
234 | - Pointers, structs, and methods
235 | - Error handling
236 | - [gofmt](https://go.dev/blog/gofmt)
237 | - [Best practicies](https://go.dev/talks/2013/bestpractices.slide#20)
238 |
239 | - Others
240 | - [JWT](https://jwt.io/introduction)
241 | - [JSON](https://www.w3schools.com/whatis/whatis_json.asp)
242 | - [REST API](https://www.edureka.co/blog/what-is-rest-api/)
243 |
244 | #### Advance concepts
245 |
246 | - Maps in Go
247 | - Concurrency and Goroutine
248 | - defer
249 | - Error handling
250 | - Panic and recover
251 | - Reflection
252 | - Type conversion
253 | - File manipulations
254 | - Logging
255 | - Authentication with JWT (JSON Web Token)
256 |
257 | #### Packages
258 |
259 | - [Gin](https://github.com/gin-gonic/gin)
260 | - [Mysql package](https://github.com/jmoiron/sqlx)
261 | - [net/http](https://golang.org/pkg/net/http/)
262 | - [File compressor](https://github.com/gin-contrib/gzip)
263 | - [Logging](https://github.com/sirupsen/logrus)
264 | - [Mongodb](https://godoc.org/go.mongodb.org/mongo-driver/mongo)
265 | - [ioutil](https://golang.org/pkg/io/ioutil/)
266 | - [os](https://golang.org/pkg/os/)
267 | - [strings](https://golang.org/pkg/strings/?m=all)
268 | - [parse static file to binary](https://github.com/markbates/pkger)
269 | - [null value handler](https://github.com/guregu/null/tree/v3.5.0)
270 | - [JWT](https://github.com/dgrijalva/jwt-go)
271 | - [socket.io](https://github.com/googollee/go-socket.io)
272 | - [sentry](https://github.com/evalphobia/logrus_sentry)
273 |
274 | ## Sprint 4 - Node.js
275 |
276 | ### Practical 4.1
277 |
278 | - Implement one-one real time chat application
279 |
280 | ### Practical 4.2
281 |
282 | - Implement an [Ecommerce App](https://github.com/canopas/web-developer-roadmap/blob/master/ecommerce_web_app_backend.md) with given requirements
283 |
284 | #### References
285 |
286 | - [yarn](https://classic.yarnpkg.com/en/docs/getting-started)
287 | - [npm](https://nodejs.org/en/knowledge/getting-started/npm/what-is-npm/)
288 | - [yarn vs npm](https://www.knowledgehut.com/blog/web-development/yarn-vs-npm)
289 | - [node](https://nodejs.org/en/about/)
290 | - [Why node.js?](https://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js)
291 | - Basic concepts:
292 | - [CommonJS and ESModule](https://www.freecodecamp.org/news/modules-in-javascript/)
293 | - [Console](https://nodejs.org/api/console.html)
294 | - [Scope](https://scotch.io/tutorials/understanding-scope-in-javascript)
295 | - ['this' keyword part 1](https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/this%20%26%20object%20prototypes/ch1.md)
296 | - ['this' keyword part 2](https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/this%20%26%20object%20prototypes/ch2.md)
297 | - Understanding package.json
298 | - Import/export require
299 | - Callbacks
300 | - async-await
301 | - async.waterfall()
302 | - [Ref](https://webapplog.com/node-js-fundamentals-a-concise-overview-of-the-main-concepts/)
303 | - [Event loop](http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/)
304 | - Node mailer to send emails
305 | - [Best practices](https://code.tutsplus.com/tutorials/24-javascript-best-practices-for-beginners--net-5399)
306 |
307 | - Express.js
308 | - [Installation](https://expressjs.com/en/starter/installing.html)
309 | - [Express Generator](https://expressjs.com/en/starter/generator.html)
310 | - [Routing](https://expressjs.com/en/starter/basic-routing.html)
311 | - [Host static files](https://expressjs.com/en/starter/static-files.html)
312 | - [Template engine(ejs)](https://expressjs.com/en/guide/using-template-engines.html)
313 | - Body parser
314 |
315 | ## Sprint 5 - Vue.js
316 |
317 | ### Practical 5.1
318 |
319 | - Implement frontend of [Ecommerce App using Vue.js](https://github.com/canopas/web-developer-roadmap/blob/master/ecommerce_web_app_frontend.md) with given requirements
320 |
321 | #### References
322 |
323 | - [Get started with Vue.js](https://v3.vuejs.org/)
324 | - [Tailwind css for beginners](https://www.youtube.com/watch?v=bxmDnn7lrnk&list=PL4cUxeGkcC9gpXORlEHjc5bgnIi5HEGhw)
325 | - [Tailwind css tutorial](https://tsh.io/blog/tailwind-css-tutorial/)
326 | - [Pinia](https://pinia.vuejs.org/introduction.html)
327 |
328 | - Concepts
329 | - What is vue.js ?
330 | - Getting started
331 | - Installation
332 | - Application and component instances
333 | - Template syntax
334 | - Data properties and Methods
335 | - Computed Properties and Watchers
336 | - Class and Style Bindings
337 | - Conditional rendering, conditional style binding
338 | - List rendering
339 | - Event Handling
340 | - Form input bindings
341 | - Component Basics
342 | - Props
343 | - Component registration
344 | - Slots
345 | - Template refs
346 | - State management
347 |
348 | ## Sprint 6 - Useful concepts
349 |
350 | #### Concepts
351 |
352 | - [Http Protocols](https://www.tutorialspoint.com/http/)
353 | - [Asynchronous vs synchronous behaviour](https://www.geekinsta.com/difference-between-synchronous-and-asynchronous-programming/)
354 | - Caching(Understanding of Redis)
355 | - Testing : unit and feature testing overview
356 | - [Docker in detail](https://docker-curriculum.com/)
357 | - Nginx vs Apache server
358 | - Server Login with Password/SSH Keys
359 | - IP tables
360 | - Php-fpm and httpd
361 | - SSH, SSL, certificates and keys
362 |
363 | #### Cloud
364 |
365 | - [What is AWS?](https://searchaws.techtarget.com/definition/Amazon-Web-Services)
366 | - S3
367 | - EC2
368 | - RDS
369 | - Elasticache
370 | - Route 53
371 | - SES
372 | - Cloudwatch
373 | - VPC
374 | - [AWS Lamda](https://www.guru99.com/aws-lambda-function.html)
375 | - [AWS API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html)
376 | - [Microservices](https://www.educative.io/blog/microservices-architecture-tutorial-all-you-need-to-get-started?affiliate_id=5082902844932096&utm_source=google&utm_medium=cpc&utm_campaign=platform2&utm_content=ad-1-dynamic&gclid=Cj0KCQjwk8b7BRCaARIsAARRTL6juttpPjrgo_hRVSuYm_PvM-KenAvrRRsxNxt1zyfp8R2mQn5_zHwaAtaiEALw_wcB)
377 | - [What are microservices? How AWS implement it?](https://relevant.software/blog/microservices-on-aws/)
378 | - [Microservices implementation using Go](https://blog.canopas.com/golang-serverless-microservices-with-gin-f3c2a4943a6d)
379 |
380 | #### Additional
381 |
382 | - [Golang roadmap](https://github.com/Alikhll/golang-developer-roadmap)
383 | - [NodeJS roadmap](https://github.com/aliyr/Nodejs-Developer-Roadmap)
384 |
--------------------------------------------------------------------------------
/ecommerce_web_app_backend.md:
--------------------------------------------------------------------------------
1 | # E-commerce App backend using NodeJS
2 |
3 | You need to build Backend of given APP using raw queries and [sequelize](https://sequelize.org/docs/v6/getting-started/).
4 |
5 | ## Requirements
6 |
7 | Create 2 projects,
8 | - using Raw queries
9 | - using Sequelize
10 |
11 | ### Technologies
12 |
13 | - Decide database structure(tables, relations and models)
14 | - Can use [typeScript/javaScript](https://www.typescriptlang.org/docs/handbook/typescript-from-scratch.html)
15 | - Use [express.js](https://www.tutorialspoint.com/nodejs/nodejs_express_framework.htm) and [ejs](https://www.digitalocean.com/community/tutorials/how-to-use-ejs-to-template-your-node-application) template engine
16 |
17 | ### Application will have two type of users :
18 |
19 | - Admin - Should have Read/Write access
20 | - User - Should have Read access only, except Favourite/Unfavourite functionality
21 |
22 | **Note:** Admin is also a user. Admin should have all access same as user. Additionally they can modify the content(categories, sub categories, products).
23 |
24 |
25 | ## Admin APIs
26 |
27 | - SignUp
28 | - SignIn
29 | - Create/Update/Delete categories
30 | - Create/Update/Delete sub categories
31 | - Create/Update/Delete products
32 |
33 | ## User APIs
34 |
35 | - SignUp - Send mail to the users after signUP from API only
36 | - SignIn
37 | - FindAll and FindOne categories
38 | - FindAll and FindOne sub categories
39 | - FindAll and FindOne products
40 | - Get products of given category/subcategory
41 | - Search product from given string with name, price
42 | - Favourite/Unfavourite products
43 | - Get own favourited products
44 | - Create API to send mail to the admin regarding to issues.
45 |
46 |
47 |
--------------------------------------------------------------------------------
/ecommerce_web_app_frontend.md:
--------------------------------------------------------------------------------
1 | # E-commerce Web App using VueJS
2 |
3 | You need to build Frontend of given APP.
4 |
5 | ## Requirements
6 |
7 | ### Technologies
8 |
9 | * Can use [typeScript/javaScript](https://www.typescriptlang.org/docs/handbook/typescript-from-scratch.html)
10 | * Use [pinia](https://medium.com/canopas/vue-state-migrate-from-vuex-store-to-pinia-7db0eab864fd) store for state-management
11 | * Use [Tailwind Css](https://tailwindcss.com/docs/installation)
12 |
13 | ## Roadmap
14 |
15 | - SignUp/SignIn for Admin and User
16 |
17 | - Design UI and Integrate APIs for Categories, SubCategories, and Products.
18 | - Admin can Create/Read/Update/Delete all
19 | - User can only view all
20 | - Filter product by category/subcategory
21 | - Search products with name, price, etc..
22 | - Favourite/Unfavourite products
23 | - Retrieve favourite products of own
24 |
25 | - Design contact page UI
26 | - User can send email to admin regarding to any issue/defect in product
--------------------------------------------------------------------------------
/images/static.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canopas/web-developer-roadmap/8ec4a91bdfb4508f3eae135ae9c55c57090f217b/images/static.png
--------------------------------------------------------------------------------
/images/title_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/canopas/web-developer-roadmap/8ec4a91bdfb4508f3eae135ae9c55c57090f217b/images/title_image.png
--------------------------------------------------------------------------------
/music_app.md:
--------------------------------------------------------------------------------
1 | # Music App
2 |
3 | ## Description
4 |
5 | * Create a project that will enable admin or end-users to register and login to the app and can manage below data with golang and MYSQL(Recommended : gin framework).
6 |
7 | ## Requirements
8 |
9 | ### Technologies
10 | - Gin framework
11 | - Sqlx or Gorm
12 | - JWT
13 |
14 | ### Application will have two type of users :
15 |
16 | - Admin - Should have Read/Write access
17 | - User - Should have Read access only, except Favourite/Unfavourite functionality
18 |
19 | **Note:** Admin is also a user. Admin should have all access same as user. Additionally they can modify the content.
20 |
21 | ## Models
22 |
23 | * Artist
24 | - id
25 | - name
26 | - image_url
27 | - created_at
28 | - updated_at
29 |
30 | * Album
31 | - id
32 | - name
33 | - description
34 | - image_url
35 | - published_at
36 | - is_published
37 | - artist_id
38 | - created_at
39 | - updated_at
40 |
41 | * Track
42 | - id
43 | - name
44 | - index
45 | - track_url
46 | - image_url
47 | - album_id
48 | - is_published
49 | - created_at
50 | - updated_at
51 |
52 | * Playlist
53 | - id
54 | - name
55 | - description
56 | - image_url
57 | - is_published
58 | - created_at
59 | - updated_at
60 |
61 | * Favourite-tracks
62 | - id
63 | - track_id
64 | - user_id
65 | - index
66 |
67 |
68 | ## APIs for admin authentication
69 |
70 | * Admin Register
71 | * Admin Login
72 |
73 | ## APIs for user authentication
74 |
75 | * User Register
76 | * User Login
77 |
78 | ## APIs for admin functionalities
79 | * Create/Read/Update/Delete artist
80 | * Create/Read/Update/Delete album
81 | * Create/Read/Update/Delete track
82 | * Add tracks to album
83 | * Remove tracks from album
84 | * Create/Read/Update/Delete playlist
85 | * Add tracks to playlist
86 | * Remove tracks from playlist
87 | * Get playlists
88 | * Get playlist and tracks by playlist id
89 |
90 | ## APIs for user functionalities
91 | * Fetch all albums
92 | * Fetch all tracks
93 | * Fetch all tracks by album Id
94 | * Get playlists
95 | * Get playlist and tracks by playlist id
96 | * Favourite/unfavourite tracks
97 | * Retrieve favourite/unfavourite tracks of own
98 |
--------------------------------------------------------------------------------