By Seif El-Din Sweilam for Backend Circle in CAT Reloaded
The purpose of this roadmap is to collect and organize open-source resources for learners seeking to learn Back-End Development and use node.js as a development environment. There are direct and indirect topics that are supposed to improve the technical skills of the learner.
Topics are ordered and organized according to the vision of the planner, this order isn't at all obligatory but it's recommended to ensure that the learner doesn't face much problems.
π§ This version of the roadmap is still under development.
You can refer to Version 1 in thev1branch to find any missing resources until this is done.
By the end of this level, the learner should learn
- How the internet and the web browser work
- How frontend code works
- Version Control Systems
- What are relational and non-relational databases
- Basic Data Structures and Algorithms
- Basic Knowledge with Operating Systems
| Phase | Content |
|---|---|
| Week 1 |
|
| Week 2 |
|
| Week 3 |
|
By the end of this level, the learner should learn
- JavaScript: Syntax, Features, OOP, Asynchronous Programming
- NodeJS: Development, Packages, Modules, Processes,
httpmodule - Express: Basics, Middlewares
- MongoDB: CRUD Operations, Integration with `express
| Phase | Content |
|---|---|
| Week 1 |
|
| Week 2 |
|
| Week 3 |
|
| Week 4 |
|
| Week 5 |
|
| Week 6 |
|
| Week 7 |
|
| Week 8 |
|
| Final Project | Starter Code & Description |
By the end of this level, the learner should learn
- TypeScript: Syntax, Features, Usage
- Architecture: MVC and other design patterns
- Express: Validation, Authentication, Authorization, Sessions, APIs, JWT
- API Documentation: Rules, using Swagger & Postman
- Unit Testing: Test-Driven Development, Using tools like
jestand `supertest
| Phase | Content |
|---|---|
| Week 1 |
|
| Week 2 |
|
| Week 3 |
|
| Week 4 |
|
| Week 5 |
|
| Week 6 |
|
| Week 7 |
|
| Week 8 |
|
| Week 9 |
|
| Week 10 |
|
| Final Project | Project Description |
By the end of this level, the learner should learn
- Database: SQL Syntax, DB-APIs, ORMs, Migrations
- Modern APIs:
GraphQL - Real Time Connections: Using
socket.ioandWebRTC - Caching: Caching Techniques, Redis for server-side caching
- Task Scheduling:
node-schedule - Browser Automation: E2E Testing and Web Scraping using
puppeteer
| Phase | Content |
|---|---|
| Week 1 |
|
| Week 2 |
|
| Week 3 |
|
| Week 4 |
|
| Week 5 |
|
| Week 6 |
|
| Week 7 |
|
| Week 8 |
|
| Week 9 |
|
| Week 10 |
|
| Mid Project | |
| Final Project |
By the end of this level, the learner should learn
- Hosting: Linux operating system, SSH protocol, VPS hosting
- Web Security: Avoiding Attacks and designing security layers
- Architecture: Microservices, Nodejs Design Patterns
- Automation: Tasks and pipelines
- System Design: Fundamentals of designing complex software
- Software Engineering: SDLC, Agile Workflow, DevOps Workflow
- Containers: Concept, Docker and Kubernetes
| Phase | Content |
|---|---|
| Week 1 |
|
| Week 2 |
|
| Week 3 |
|
| Week 4 |
|