DEV Community

Cover image for 7 Open Source Projects You Should Know - Java Edition โœ”๏ธ
Domenico Tenace for This is Learning

Posted on • Updated on • Originally published at Medium

7 Open Source Projects You Should Know - Java Edition โœ”๏ธ

Overview

Hi everyone ๐Ÿ‘‹๐Ÿผโ€‹
In this article, I'm going to look at seven OSS repository that you should know written in Java, interesting projects that caught my attention and that I want to share.
Let's start ๐Ÿค™๐Ÿผโ€‹


1. Robolectric

Robolectric is a unit testing framework for Android. Your tests run in a simulated Android environment inside a JVM, without the overhead and flakiness of an emulator. It tests routinely run 10x faster than those on cold-started emulators ๐Ÿ˜ˆ

GitHub logo robolectric / robolectric

Android Unit Testing Framework

Build Status GitHub release

Robolectric is the industry-standard unit testing framework for Android. With Robolectric, your tests run in a simulated Android environment inside a JVM, without the overhead and flakiness of an emulator. Robolectric tests routinely run 10x faster than those on cold-started emulators.

Robolectric supports running unit tests for 14 different versions of Android, ranging from Lollipop (API level 21) to U (API level 34).

Usage

Here's an example of a simple test written using Robolectric:

@RunWith(AndroidJUnit4.class)
public class MyActivityTest {
  @Test
  public void clickingButton_shouldChangeResultsViewText() {
    Activity activity = Robolectric.setupActivity(MyActivity.class);

    Button button = (Button) activity.findViewById(R.id.press_me_button);
    TextView results = (TextView) activity.findViewById(R.id.results_text_view);

    button.performClick();
    assertThat(results.getText().toString(), equalTo("Testing
โ€ฆ
Enter fullscreen mode Exit fullscreen mode

2. Elasticsearch

Elasticsearch is a distributed search and analytics engine optimized for speed and relevance on production-scale workloads. Search in near real-time over massive datasets, perform vector searches, integrate with generative AI applications, and much more ๐Ÿค 

GitHub logo elastic / elasticsearch

Free and Open, Distributed, RESTful Search Engine

Elasticsearch

Elasticsearch is a distributed search and analytics engine, scalable data store and vector database optimized for speed and relevance on production-scale workloads. Elasticsearch is the foundation of Elasticโ€™s open Stack platform. Search in near real-time over massive datasets, perform vector searches, integrate with generative AI applications, and much more.

Use cases enabled by Elasticsearch include:

... and more!

To learn more about Elasticsearchโ€™s features and capabilities, see our product page.

To access information on machine learning innovations and the latest Lucene contributions from Elastic, more information can be found in Search Labs.

Get started

The simplest way to set up Elasticsearch is to create a managed deployment with Elasticsearch Service on Elastic Cloud.

If you prefer to install and manage Elasticsearch yourself, you can download the latest version fromโ€ฆ

3. dotCMS

dotCMS is an open source headless/hybrid content management system that has been designed to manage and deliver personalized, permission-based content experiences across multiple channels.
It can can serve as a content hub and also as a platform for sites, mobile apps, mini-sites, portals, intranets ๐Ÿค–

GitHub logo dotCMS / core

Headless/Hybrid Content Management System for Enterprises

Merge Queue

Trunk

Nightly

dotCMS is an open source headless/hybrid content management system (CMS) that has been designed to manage and deliver personalized, permission-based content experiences across multiple channels.

  • Open Source - available in both Community (GPL3) and Enterprise Editions
  • REST & GraphQL APIs - instant endpoints for your all your content
  • Visual Editing - Full featured page editing that works headlessly, in your SPA or for traditional page delivery
  • Search Built in - dotCMS indexes all content and assets in Elasticsearch for real time search-abiliity.
  • Personalization, Rules & A/B Testing - Empower your marketing teams with targeting and content optimizations.
  • Cloud, Cloud Anywhere or Self-Hosted - Flexiable deployment works with your IT/cloud strategies.
  • Feature Rich - Custom content workflows, scriptable APIs, push and static publishing, custom roles and permissions, osgi based plugin architecture. Do more with more.

dotCMS can can serve as a content hub and also as a platform for sites, mobileโ€ฆ

4. Apache Tika

The Apache Tika toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF). All of these file types can be parsed through a single interface, making Tika useful for search engine indexing, content analysis, translation, and much more ๐Ÿค—

GitHub logo apache / tika

The Apache Tika toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF).

Welcome to Apache Tika https://tika.apache.org/

license Jenkins Jenkins tests Maven Central

Apache Tika(TM) is a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries.

Tika is a project of the Apache Software Foundation.

Apache Tika, Tika, Apache, the Apache feather logo, and the Apache Tika project logo are trademarks of The Apache Software Foundation.

Getting Started

Pre-built binaries of Apache Tika standalone applications are available from https://tika.apache.org/download.html . Pre-built binaries of all the Tika jars can be fetched from Maven Central or your favourite Maven mirror.

Tika 1.X reached End of Life (EOL) on September 30, 2022.

Tika is based on Java 11 and uses the Maven 3 build system N.B. Docker is used for tests in tika-integration-tests. As of Tika 2.5.1, if Docker is not installed, those tests are skipped. Docker is required for a successful build on earlier 2.x versions.

To build Tika from sourceโ€ฆ

5. GraalVM

GraalVM is a high-performance JDK distribution that compiles your Java applications ahead of time into standalone binaries. These binaries start instantly, provide peak performance with no warmup, and use fewer resources ๐Ÿ‘พ

GitHub logo oracle / graal

GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources ๐Ÿš€

GraalVM

GraalVM downloads GraalVM docs GraalVM on Slack GraalVM on Twitter GraalVM on YouTube GraalVM Gate License

GraalVM is a high-performance JDK distribution that compiles your Java applications ahead of time into standalone binaries. These binaries start instantly, provide peak performance with no warmup, and use fewer resources You can use GraalVM just like any other Java Development Kit in your IDE.

The project website at https://www.graalvm.org/ describes how to get started, how to stay connected, and how to contribute.

Documentation

Please refer to the GraalVM website for documentation. You can find most of the documentation sources in the docs/ directory in the same hierarchy as displayed on the website. Additional documentation including developer instructions for individual components can be found in corresponding docs/ sub-directories. The documentation for the Truffle framework, for example, is in truffle/docs/. This also applies to languages, tools, and other components maintained in related repositories.

Get Support

  • Open a GitHub issue for bug reports, questions, or requestsโ€ฆ

6. OpenSearch

OpenSearch is an open source distributed and RESTful search engine, fork of Elasticsearch and Kibana following the license change in early 2021 ๐Ÿ”Ž

GitHub logo opensearch-project / OpenSearch

๐Ÿ”Ž Open source distributed and RESTful search engine.

Chat Documentation Code Coverage Untriaged Issues Security Vulnerabilities Open Issues Open Pull Requests 2.17.0 Open Issues 3.0.0 Open Issues GHA gradle check GHA validate pull request GHA precommit Jenkins gradle check job

Welcome!

OpenSearch is a community-driven, open source fork of Elasticsearch and Kibana following the license change in early 2021. We're looking to sustain (and evolve!) a search and analytics suite for the multitude of businesses who are dependent on the rights granted by the original, Apache v2.0 License.

Project Resources

Code of Conduct

This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ, or contact opensource-codeofconduct@amazon.com with any additional questions or comments.

Security

If you discover a potential security issue in this project we ask that you notify OpenSearch Security directly via email to security@opensearch.org. Please do not create a public GitHub issue.

License

Thisโ€ฆ

7. ThingsBoard

ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management.
It enables device connectivity via industry standard IoT protocols: MQTT, CoAP and HTTP and supports both cloud and on-premises deployments ๐Ÿฆพ

GitHub logo thingsboard / thingsboard

Open-source IoT Platform - Device management, data collection, processing and visualization.





Conclusion

This list lists seven open source projects that are worth checking out, either to use them or even to contribute๐Ÿ––
Happy coding!โœจ


Hi๐Ÿ‘‹๐Ÿป
My name is Domenico, software developer passionate of Vue.js framework, I write article about it for share my knowledge and experience.
Don't forget to visit my Linktree to discover my projects ๐Ÿซฐ๐Ÿป

Linktree: https://linktr.ee/domenicotenace

Follow me on dev.to for other articles ๐Ÿ‘‡๐Ÿป

If you like my content or want to support my work on GitHub, you can support me with a very small donation.
I would be grateful ๐Ÿฅน

Top comments (5)

Collapse
 
mickeydev profile image
Michael Yeboah Frimpong

Thank you for sharing, it will really help in my next personal projects that I am going to be building.

Collapse
 
dvalin99 profile image
Domenico Tenace

You're welcome it was a pleasure :)

Collapse
 
mahendranv profile image
Mahendran

Good collection of repos. Thanks for the share!!

Collapse
 
dvalin99 profile image
Domenico Tenace

You're welcome and thank you for the feedback :)

Collapse
 
abrahamn profile image
Abraham

I've been looking for articles where AI was used well, this is one of them