0% found this document useful (0 votes)
415 views

10 Excellent GitHub Repositories For Every Java Developer

This document summarizes four GitHub repositories that are excellent resources for Java developers: 1. A repository containing implementations of common software design patterns in Java. 2. A repository containing resources for interview preparation, including coding practice problems and video lectures. 3. A repository containing algorithms implementations in Java and information on algorithm complexity. 4. A repository called "Realworld" that allows developing a fullstack application using various frontend and backend technologies, including Quarkus and Vert.x for Java backends.

Uploaded by

Yaegar Wain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
415 views

10 Excellent GitHub Repositories For Every Java Developer

This document summarizes four GitHub repositories that are excellent resources for Java developers: 1. A repository containing implementations of common software design patterns in Java. 2. A repository containing resources for interview preparation, including coding practice problems and video lectures. 3. A repository containing algorithms implementations in Java and information on algorithm complexity. 4. A repository called "Realworld" that allows developing a fullstack application using various frontend and backend technologies, including Quarkus and Vert.x for Java backends.

Uploaded by

Yaegar Wain
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Sign in Get started

DAT A S CIENCE MACHINE LEARNING P ROGRAMMING VIS UALIZ AT ION VIDEO ★ ABOUT CONT RIBUT E

You have 2 free stories left this month. Sign up and get an extra one for free.

10 excellent GitHub repositories for


every Java developer
A curated list of the essential GitHub repositories for Java Developers
Md Kamaruzzaman Follow
Jul 29 · 8 min read

Photo by Christina Morillo from Pexels

J
ava is the undisputed king of the Enterprise Software development
and one of the top in-demand programming languages overall. It
has recently celebrated its 25th birthday, and it will remain one of the
leading programming languages in years to come.

With over 100 million repositories, GitHub is like the “Library of


Alexandria” in Software Development. GitHub contains Frameworks,
Libraries, Tutorials, Books, and even Programming Languages.

If you are a Java developer and you want to sharpen your Java skills,
then GitHub is like a Gold mine for you. But finding the right repository
from the GitHub is like finding a needle in a haystack.

By reading this article, you will learn about 10 excellent Java GitHub
repositories about:

Tutorials

Learning Materials

Software Design skill

Demo Apps

Please note that I am not listing the popular Java frameworks, nor the
useful Java libraries.

. . .

1. Java Design Patterns

Source: GitHub

Software Design Patterns are the reusable, general solutions for the
Software Engineers to solve recurring problems in Software Design. It
also gives a common vocabulary to discuss the common issue among
Software Engineers and Architects. Design patterns can improve Code
Quality and coding velocity by using the battle-tested and proven
development paradigms. The best way to learn the design patterns is to
see them in action, i.e., Code examples.

This excellent GitHub repository has Java implementation of all sorts of


Design Patterns: from the most common and old design patterns
(Iterator, Singleton) to the most modern design patterns (aggregator
Microservices, Serverless). This GitHub repository will not only improve
your coding skill but also make you a better and productive developer.

If you are a Java Developer, you will need this GitHub repository from the
beginning of your career till your retirement.

Link:

iluwatar/java-design-patterns
Design patterns are the best formalized practices a programmer can use to
solve common problems when designing an…

github.com

2. Interviews

Source: GitHub

Giving an interview for a programming job is challenging. Many people


just go to interview half-prepared and later blame their luck for failing to
grab the Job. Solid preparation for an interview will skyrocket your
chance to get your dream job. This GitHub repository contains
everything you need to prepare for interviews: YouTube videos, Articles,
Live Coding Practice, Data Structures, Algorithms, Interview Books, Video
Lectures. Interviews also contains Leetcode for common coding
problems in Java.

It is another impressive GitHub repository not only for the Java


developers but also for all developers. You will probably need to visit this
GitHub site throughout your career.

Link:

kdn251/interviews
Everything you need to know to get the job. Contribute to
kdn251/interviews development by creating an account on…

github.com

3. Algorithms

Source: GitHub

If you are a Software Engineer, then algorithms are the bread and butter
of your day-to-day life. Using the right algorithms can improve the
Performance of a Software. Often the ability to choose the right
algorithm for the given constraint (CPU Complexity, Memory
Consumption) indicates the quality of a Software Engineer. It is no
wonder that the algorithms are heavily used in the Interview Process:
whether it is Tech Giant companies like Google, Microsoft, or a Startup
company.

If you are a beginner or mid-level Java developer, then you will need this
GitHub repository regularly. If you are a seasoned Java developer with
years of experience, you still will find this GitHub repository useful.

Link:

T heAlgorithms/Java
NOTE: A Development branch is made for this repo where we’re trying to
migrate the existing project to a Java project…

github.com

4. Realworld

Source: GitHub

If you are developing modern Fullstack applications in Java, the chances


are quite high that you are using one of the latest JavaScript SPA in
Frontend and Java in Backend. Realworld offers developing an
application “Conduit” (a Medium clone), using almost all combinations
of Frontend and Backend. The creators call it “The mother of all demo
apps,” as it allows developing a real-world app. Considering the vast
Catalog of the Front-end/Back-end Technologies it supports, Realworld
certainly fits the Tagline.

Currently, it supports all possible JavaScript Frontend frameworks (e.g.,


React, Angular, Vue, Svelte, AngularJS, Ember.js, Aurelia, Vanilla JS …)
and all possible Backend frameworks in all mainstream programming
languages. In Java, it supports Quarkus and Vert.x.

Realworld is also a GitHub repository you need throughout your career,


especially if you work in Fullstack development.

Link:

gothinkster/realworld
While most “todo” demos provide an excellent cursory glance at a
framework’s capabilities, they typically don’t convey…
github.com

5. Awesome Java

Source: GitHub

Often, it happens to us that we need to find something related to Java


and spend hours to find it on Google. Fortunately for Java developers,
this GitHub repository can come to the rescue for such a situation.
Awesome Java contains almost anything and everything related to Java
and is like a dictionary. Whether you are looking for a ByteCode
manipulator or Machine learning libraries or Utility libraries, Awesome
Java has a link for it.

Maintained by a very active community of ca. 300 contributors, this


repository is updated regularly.

Link:

akullpp/awesome-java
A curated list of awesome frameworks, libraries and software for the Java
programming language. — akullpp/awesome-java

github.com

6. Baeldung Tutorials

Source: GitHub

If you are a Java developer, you probably would have come across the
various tutorials and examples provided by Baeldung. Currently, it is the
number one online source of the Tutorials in Java, Web, and Spring
development. What set Baeldung apart from other similar sources is that
it covers from the basic to the highly advanced topics in Java/Spring
Development. Apart from tutorials, it also contains courses, guides,
ebooks, etc. Another vital feature of Baeldung is all the examples and
tutorials are backed by running GitHub codes.

This GitHub repository contains a collection of small and focused


tutorials in the field of Java and Spring development, including the link to
the tutorial article where the code is explained more elaborately. This is
also a must-have repository not only for Spring developers but also for
Vanilla Java developers.

Link:

eugenp/tutorials
UPDATE: The price of “Learn Spring Security OAuth” will permanently
change on the 11th of December, along with the…

github.com

7. JHipster

Source: GitHub

If you are working in Enterprise Java, then you probably have heard
about JHipster. JHipster offers a development platform to generate,
develop, and deploy production-grade Monolithic/Microservice based
Web Applications. In the Frontend, it offers the top 3 SPA framework
(Angular, React, Vue), and in Backend, it offers Spring Boot. It also
supports all major Data Store (Oracle, PostgreSQL, MySQL, MS-SQL,
MongoDB, Cassandra, ELK, Kafka). JHipster offers very advanced
Security features like OAuth2+OpenID Connect as well. It also offers
many Extensions, which will help you to develop a Spring Boot based
Enterprise application virtually for any environment, including Cloud.

This project is so powerful and mature that you can develop your POC or
even production-grade application with it.

Link:

jhipster/generator-jhipster
Greetings, Java Hipster! Full documentation and information is available on
our website at https://www.jhipster.tech/…
github.com

8. RxJava Android Samples

Source: GitHub

In recent years, Reactive programming is gaining massive popularity by


offering a nice abstraction to deal with asynchronous and event-based
programming. RxJava is the Java implementation of the ReactiveX,
which offers reactive programming via Observables. Learning Reactive
programming in Java is a bit challenging as Java, by default, provides the
Synchronous way of programming. In this GitHub project, real-world
examples of RxJava is given. Although the examples are given for
Android development, Java developers can easily apply them for non-
Android development as well.

Link:

kaushikgopal/RxJava-Android-Samples
This is a repository with real-world useful examples of using RxJava with
Android. It usually will be in a constant…

github.com

9. Java8 Tutorial

Source: GitHub

Java8 is one of the most disrupting and innovative Java released as it has
introduced “Functional Programming” in Java. With concepts like
Lambda and Streaming, Java finally reached the functional programming
landscape while keeping its legendary and holistic backward
compatibility.

Unfortunately, not all Java developers are taking full advantage of Java’s
new capabilities. I have seen many experienced Java developers who are
still developing Java programs in an old-school way. One of the reasons
is that as Functional Programming is a paradigm shift compared to the
traditional Object-oriented programming, developers want to remain in
their comfort zone.

This GitHub repository contains many small and useful examples of the
Functional Programming concepts (Lambda, Streams, Functional
Interface, Parallel Streaming, etc.) written in an excellent, readable way.
If you are new to Java Functional Programming, this repository will help
you immensely.

Link:

winterbe/java8-tutorial
You should also read my Java 11 Tutorial (including new language and API
features from Java 9, 10 and 11). Welcome to…
github.com

10. Cracking the Coding Interview in Java

Source: GitHub

Whether you are applying for a Programming job in Fortune 500


company or a startup, you will probably go through a coding interview.
The highly acclaimed book “Cracking the Coding Interview” will help
you to prepare for the challenging coding interview. This book covers all
types and sorts of coding challenges, including Algorithmic complexities,
Math and Logic puzzles, Dynamic Programming, sorting and searching,
Multi-threading, and many more.

What sets this book apart is that it also explains all the examples simply
and elegantly. This GitHub repository contains all the examples from the
6th edition of the book in Java. Even if you cannot buy the original
book, going through this repository will be quite handy for your next
interview.

Link:

careercup/CtCI-6th-Edition
You can’t perform that action at this time. You signed in with another tab or
window. You signed out in another tab or…
github.com

. . .

Similar articles:

Top 10 In-Demand programming languages to learn in 2020


In-depth analysis and ranking of the top programming languages for job
seekers and new developers

towardsdatascience.com

20 Predictions about Software Development trends in 2020


Cloud, Container, Programming, Database, Deep Learning, Software
Architecture, Web, App, Batch, Streaming, Data Lake…

towardsdatascience.com

E ective Microservices: 10 Best Practices


10 Tips to implement Microservice Architecture the right way
towardsdatascience.com

Sign up for The Daily Pick


By Towards Data Science

Hands-on real-world examples, research, tutorials, and cutting-edge techniques


delivered Monday to Thursday. Make learning your daily ritual. Take a look

Your email Get this newsletter

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more
information about our privacy practices.

Java Github Spring Boot Software Engineering

1K claps 2 responses

WRIT T EN BY
Md Kamaruzzaman Follow

software architect | technologist | writer

Towards Data Science Follow

A Medium publication sharing concepts, ideas, and codes.

More From Medium

Why developers are T he Best Data Science Creating my First Deep You’re living in 1985 if
falling in love with Certi cation You’ve Learning + Data Science you don’t use Docker for
functional programming Never Heard Of Workstation your Data Science
Rhea Mouta s in Towards Nicole Janeway Bills in Rahul Agarwal in Towards Data Projects
Data Science Towards Data Science Science Sohaib Ahmad in Towards
Data Science

10 Algorithms To Solve Temporal Convolutional 8 ML/AI Projects To Learn T hese 3 Basic


Before your Python Networks, T he Next Make Your Portfolio Data Concepts Before
Coding Interview Revolution for T ime- Stand Out Stressing About Coding
AnBento in Towards Data Series? Kajal Yadav in Towards Data Languages or Tools
Science Barak Or in Towards Data Science Haley Hamer in Towards Data
Science Science

Discover Medium Make Medium yours Become a member


Welcome to a place where words matter. On Medium, Follow all the topics you care about, and we’ll deliver the Get unlimited access to the best stories on Medium — and
smart voices and original ideas take center stage - with no best stories for you to your homepage and inbox. Explore support writers while you’re at it. Just $5/month. Upgrade
ads in sight. Watch

About Help Legal

You might also like