Do you want your ad here?

Contact us to get your ad seen by thousands of users every day!

[email protected]

Interview with Abdoulaye Wade Cissé: Using a JavaFX application as a virtual chemistry and biology lab

  • March 20, 2025
  • 3934 Unique Views
  • 4 min read

I continuously collect JavaFX-related content for the JFX Central Links Of The Week. Recently, I saw a video on LinkedIn, shared by Abdoulaye Wade Cissé, of a JavaFX "virtual lab" and wanted to learn more about this project... Turns out he is a 22-year-old student in Senegal, creating a fantastic project to provide a virtual laboratory as software where the resources are not available for a physical lab. With his project, he proved that Java and JavaFX are the ideal way to generate entirely free software with a lot of functionality.

What is your experience with Java development?

I started using Java last year, during my second year of university. I learned Java in our Object-Oriented Programming (OOP) course because it is part of our academic
program. As part of our Advanced Java lab work in the third year, I worked with my colleagues on a desktop virtual laboratory application developed with JavaFX. I am also working on a Java web e-commerce application, but I have paused it for now.

Why did you choose to use Java and JavaFX?

We chose Java and JavaFX as part of our Advanced Java module. We wanted to follow the project requirements and improve our skills with this technology. Working with JavaFX allowed us to better understand modern graphical user interface (GUI) development in Java and explore its advanced features.

This project is a team effort. All the credit goes to my amazing colleagues Abdoulaye Niang, Racine Sabaly, Adama Seck, and Moustapha Mbacké. They worked even harder than I did to bring this project to life. Their commitment and determination were essential and I'm proud to be part of this team.

Can you describe the functionalities of the app you created?

This virtual laboratory application allows students to perform chemistry and biology experiments and see the results in real time. With JavaFX drag and drop features, users can manipulate various lab tools such as:

  • Beakers, pipettes, and hammers (for nerve stimulation)
  • Taps and water, where you can see the beaker filling up in real-time
  • Salt dissolving in water
  • The color change of acidic and basic solutions after adding BBT
  • The rusting process of iron
  • Complete and incomplete combustion
  • Anaerobic respiration
  • Heart rate variation during physical activity
  • Blood circulation and immune system response

The main goal of this application is to help students simulate experiments that they usually only learn in theory so they can better understand and visualize scientific concepts. Based on the implemented experiments, this application is mainly for 9th-grade students and teachers.

Are the project sources shared, and is it easy to add extra experiments and translations?

For now, the sources are not public, but we are considering sharing them in the future if it could benefit other schools interested in a similar virtual laboratory. The system is designed modularly, making it easy to add new experiments by following a predefined format. This ensures smooth integration with the existing interface. The project’s architecture separates the interface from the content, making it easy to add new languages without modifying the core system.

How important is the “free” and open-source aspect of Java for you?

The open-source aspect of Java is essential because it allows everyone to use this technology freely, without financial restrictions. It makes learning accessible to all. As a student, this is a significant advantage because I don’t have to pay for a license to learn and develop projects. If Java were not free, it would be a problem for me because I cannot afford a powerful computer or IoT equipment to explore more technologies. Because Java is free and has a strong community, I can continue learning and improving my skills without limits.

What other programming languages do you use or want to learn?

I mainly use PHP (Laravel), a bit of Python, HTML/CSS, and JavaScript. Currently, I am familiarizing myself with React.js, TypeScript, Tailwind CSS, and Angular to strengthen my web development skills. I want to deepen my knowledge of Python, as I aim to specialize in artificial intelligence (machine learning) and cybersecurity. I also plan to learn Flutter for cross-platform mobile app development. Finally, I want to master React, Angular, and the JavaScript ecosystem, as recruiters highly seek after these technologies.

With these skills, combined with my expertise in electricity, electronics (DIY), systems, and networks, I can solve various technical problems and develop solutions suited to current and future challenges.

What is your professional goal after university?

I aim to develop complete software solutions and create a centralized ecosystem that simplifies business management. Initially, I want to work in a company to gain solid experience and better understand the professional environment. This will allow me to establish my own company, GorguiTech, where I can design and develop electrical, electronic, and IT products. My ambition is to contribute to the electrification of villages and reduce the digital divide through innovative technological solutions.

Thanks, Abdoulaye, for sharing your work, and I'm looking forward to your next projects...!

Duke T-shirt azul and javafx
A JavaFX App on ZuluFX in 60 Seconds

Learn how to use a popular distribution from Azul to build a JavaFX HelloWorld Application in 60 seconds!

I’m not sure if you’ll taken more than 60 seconds to complete the steps, but assuming your environment is setup and the JDK 11+ and JavaFX is installed you should be able to cut and paste the code in seconds.

Device Monitoring with JavaFX and FXGL

In a previous post, Getting Started with FXGL Game Development, we already have taken a look at the FXGL game development framework developed by Almas Baimagambetov.

But, this game engine can also be used for other use cases. In this post, we will be building a system monitoring dashboard, which can run on a Raspberry Pi.

The dashboard can be used to keep an eye on any device that can report its state to a queue. And, for me personally, it finally solves the problem of finding the IP addresses of all my Raspberry Pi’s when my router decided to shuffle them.

Foojay Podcast #25: Game Development with Java, JavaFX, and FXGL

Let’s learn from experts why Java and JavaFX should be on your game-development-language-list!

Foojay Podcast #9: The State of JavaFX Framework, Libraries, and Projects

Let’s talk about the JavaFX framework itself, but also about the libraries and applications that are built with it.

Getting Started with FXGL Game Development

FXGL is a JavaFX Game Library Engine for Java and Kotlin, created by Almas Baimagambetov.

In this article, you’ll read what FXGL is, what it is good for, what its dependencies are, as well as a complete scenario with a video and code snippets to set up your first FXGL scenario from scratch.

Do you want your ad here?

Contact us to get your ad seen by thousands of users every day!

[email protected]

Comments (0)

Highlight your code snippets using [code lang="language name"] shortcode. Just insert your code between opening and closing tag: [code lang="java"] code [/code]. Or specify another language.

No comments yet. Be the first.

Subscribe to foojay updates:

https://foojay.io/feed/
Copied to the clipboard