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 π
robolectric / robolectric
Android Unit Testing Framework
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
β¦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 π€
elastic / elasticsearch
Free and Open Source, 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:
-
Full-text search
-
Logs
-
Metrics
-
Application performance monitoring (APM)
-
Security logs
... 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 π€
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 π€
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/
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 πΎ
oracle / graal
GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources π
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 π
opensearch-project / OpenSearch
π Open source distributed and RESTful search engine.
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
- Project Website
- Downloads
- Documentation
- Need help? Try Forums
- Project Principles
- Contributing to OpenSearch
- Maintainer Responsibilities
- Release Management
- Admin Responsibilities
- Testing
- Security
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 π¦Ύ
thingsboard / thingsboard
Open-source IoT Platform - Device management, data collection, processing and visualization.
ThingsBoard
ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management.
Documentation
ThingsBoard documentation is hosted on thingsboard.io.
IoT use cases
Getting Started
Collect and Visualize your IoT data in minutes by following this guide.
Support
Licenses
This project is released under Apache 2.0 License.
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)
Thank you for sharing, it will really help in my next personal projects that I am going to be building.
You're welcome it was a pleasure :)
Good collection of repos. Thanks for the share!!
You're welcome and thank you for the feedback :)
I've been looking for articles where AI was used well, this is one of them