{"id":20640114,"url":"https://github.com/abanoub-asaad/java-backend","last_synced_at":"2025-04-05T16:10:29.314Z","repository":{"id":62085137,"uuid":"548499097","full_name":"Abanoub-Asaad/Java-Backend","owner":"Abanoub-Asaad","description":"These are resources, roadmaps, links to learn Java Backend :)","archived":false,"fork":false,"pushed_at":"2024-08-20T17:16:03.000Z","size":71,"stargazers_count":359,"open_issues_count":3,"forks_count":44,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T15:11:18.598Z","etag":null,"topics":["backend","java","java-backend","spring","springboot"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abanoub-Asaad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-09T17:41:35.000Z","updated_at":"2025-03-20T18:51:42.000Z","dependencies_parsed_at":"2024-11-16T15:29:10.169Z","dependency_job_id":"cde3b6c6-c9b7-46b7-8712-4b18808f112c","html_url":"https://github.com/Abanoub-Asaad/Java-Backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abanoub-Asaad%2FJava-Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abanoub-Asaad%2FJava-Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abanoub-Asaad%2FJava-Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abanoub-Asaad%2FJava-Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abanoub-Asaad","download_url":"https://codeload.github.com/Abanoub-Asaad/Java-Backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361695,"owners_count":20926643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","java","java-backend","spring","springboot"],"created_at":"2024-11-16T15:28:01.520Z","updated_at":"2025-04-05T16:10:29.288Z","avatar_url":"https://github.com/Abanoub-Asaad.png","language":null,"readme":"# Java-Backend \n\nIn this repository, you will find :\n  - [A roadmap for learning Backend with Java](#roadmap)\n  - [Resources for learning Java-Backend](#resources-for-learning-java-backend)\n    - [Docs \u0026 Articles](https://github.com/Abanoub-Asaad/Java-Backend#docs--articles)\n    - [YouTube Channels](https://github.com/Abanoub-Asaad/Java-Backend#youtube-channels)\n    - [Books](https://github.com/Abanoub-Asaad/Java-Backend#books)\n    - [Projects](https://github.com/Abanoub-Asaad/Java-Backend#projects)\n    - [Helpful Links](https://github.com/Abanoub-Asaad/Java-Backend#helpful-links)\n    - [Interview Questions](https://github.com/Abanoub-Asaad/Java-Backend#interview-questions)\n  - [References of the roadmap](#references-of-the-roadmap)\n  - [Want to contribute to this repository?](#contribution)\n\n# Roadmap\n## 1. Java\n\u003cdetails open\u003e\n\u003csummary\u003e \u003cb\u003eLearn Java\u003c/b\u003e \u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca\u003e Basics \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Classes, Variables, Loops etc \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e OOPs \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Collections \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Generics \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Advanced \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Design Patterns \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e JVM \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Threads \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Serverlets and JSP’s \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Concurrency \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Garbge Collection \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca\u003e Build Tools (Maven, Gradle, Ant) \u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca\u003e Servers (Tomcat, Weblogic, JBOSS, WebShpere, Jetty) \u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Testing \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Unit Testing \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Integeration Testing \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Integeration Testing \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e JUnit \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Mockito \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca\u003e Logging (Log4j, Log4j2, Logback) \u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## 2. Spring Framwork\n\u003cdetails open\u003e\n\u003csummary\u003e \u003cb\u003eLearn Spring Framework\u003c/b\u003e \u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca\u003e Core \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Bean Life Cycle \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Dependency Injection \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Inversion of Control \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Bean Factory \u0026 Application Context \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Web \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Annotations \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e MVC Structure \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Configurations \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Integerating different Libraries/Frameworks \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Profiles \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e AOP \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e How AOP Works \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Creating PointCut, Join Point, Aspect etc \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## 3. Spring Boot\n\u003cdetails open\u003e\n\u003csummary\u003e \u003cb\u003eLearn Spring Boot\u003c/b\u003e \u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca\u003e Importance of Spring Boot \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Auto Configuration \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Adding Configuration \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Properties/YAML \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Integerations with other Libraries/Framworks \u003c/a\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## 4. REST API\n\u003cdetails open\u003e\n\u003csummary\u003e \u003cb\u003eLearn REST API\u003c/b\u003e \u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca\u003e HTTP Methods \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e POST \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e GET \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e PUT \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e DELETE \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e OPTIONS \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e TRACE \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e HTTP Status Codes \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e 1.X.X \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e 2.X.X \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e 3.X.X \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e 4.X.X \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e 5.X.X \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## 5. Database\n\u003cdetails open\u003e\n\u003csummary\u003e \u003cb\u003eLearn Database \u003c/b\u003e \u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca\u003e SQL \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e My SQL \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Postgress SQL \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Oracle \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e No SQL \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Mongo Db \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Cassandra \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Spring Data \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Spring Data JPA \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Spring Data MongoDB \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Spring Data JDBC \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## 6. Spring Security\n\u003cdetails open\u003e\n\u003csummary\u003e \u003cb\u003eLearn Spring Security\u003c/b\u003e \u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca\u003e Authentication \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Authorization \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e OAuth2 \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Form Authentications \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e JWT \u003c/a\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## 7. Microservices\n\u003cdetails open\u003e\n\u003csummary\u003e \u003cb\u003eLearn Microservices \u003c/b\u003e \u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca\u003e Spring Cloud \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Spring Cloud Gateway \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Spring Cloud Config \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Spring Cloud Circuit Breaker \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Spring Cloud OpenFeign \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Spring Cloud Sleuth \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Other Spring Cloud Projects (based on requirement) \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Devops \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Docker \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Kubernates \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Cloud (AWS, GCP, Azure) \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Microservices Patterns \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e Aggregator \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e CQRS \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e SAGA \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Event Sourcing \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca\u003e Microservices Queues \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca\u003e SQS \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e Kafka \u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca\u003e RabbitMQ \u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n# Resources for learning Java-Backend\n### Docs \u0026 Articles\n- [Tutorialspoint | Java](https://www.tutorialspoint.com/java/)\n- [Spring Framework Official Documentation](https://docs.spring.io/spring-framework/docs/current/reference/html/index.html)\n\n### YouTube Channels\n\u003e Here you can open the channel and check its awesome related videos and playlists.\n- [Amigoscode](https://www.youtube.com/c/amigoscode)\n- [Daily Code Buffer](https://www.youtube.com/c/DailyCodeBuffer)\n- [Java Brains](https://www.youtube.com/c/JavaBrainsChannel)\n- [in28minutes - Cloud Made Easy](https://www.youtube.com/user/rithustutorials)\n- [Java Guides](https://www.youtube.com/c/JavaGuides)\n\n### Books\n- [Head First Java](https://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208)\n- [Spring Start Here: Learn what you need and learn it well](https://www.amazon.com/Spring-Start-Here-Learn-learn/dp/1617298697)\n- [Spring Security in Action](https://www.amazon.com/Spring-Security-Action-Laurentiu-Spilca/dp/1617297739)\n- [Building Microservices: Designing Fine-Grained Systems](https://www.amazon.com/Building-Microservices-Designing-Fine-Grained-Systems/dp/1491950358)\n\n### Projects\n- [Inbox App using Spring Boot, Spring Security, and Cassandra database](https://www.youtube.com/playlist?list=PLqq-6Pq4lTTak0b5DnJ-x85MWMPaTdl4A)\n- [Full Stack Development with Java Spring Boot, React, and MongoDB ](https://www.youtube.com/watch?v=5PdEmeopJVQ\u0026list=PLaC1bV0lrJOwmnrSmjDmnvrOGBIuaE3JA\u0026index=1)\n\n### Helpful Links \n- [Common Application Properties in Spring Boot](https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html)\n- [Design Patterns](https://refactoring.guru/design-patterns)\n\n### Interview Questions\n- [Java Interview Questions](https://www.interviewbit.com/java-interview-questions/)\n- [Spring Interview Questions](https://www.interviewbit.com/spring-interview-questions/)\n- [REST API Interview Questions](https://www.interviewbit.com/rest-api-interview-questions/)\n- [Back-End Developer Interview Questions](https://www.fullstack.cafe/blog/backend-developer-interview-questions)\n- [DBMS Interview Questions](https://www.interviewbit.com/dbms-interview-questions/)\n- [SQL Interview Questions](https://www.interviewbit.com/sql-interview-questions/)\n\n\n# References of the roadmap\n- Java Roadmap for Beginners [🔗](https://youtu.be/lXrr1OohGF0) \n- How to Master Spring Boot - Complete Spring Boot Roadmap [🔗](https://youtu.be/gQHs8pnlagM) \n- Learning Spring Boot in 2022 | Roadmap [🔗](https://youtu.be/YNEUMmtO_6k) \n\n# Contribution\nIf you think that anything can be improved in anyway, please do suggest :\n  - Open pull request with improvements\n  - Discuss ideas in issues.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabanoub-asaad%2Fjava-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabanoub-asaad%2Fjava-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabanoub-asaad%2Fjava-backend/lists"}