DLDiagnosis is a mobile and web application for diseases classification using Deep Learning. The project is divided into three main components: a web application integrated with the backend, a mobile application, and a Python component for loading and using pre-trained models.
- JHipster: Development platform for web applications using Spring Boot and Angular/Vue.js. JHipster Documentation
- TensorFlow: An open-source machine learning library for building and training deep learning models. TensorFlow Documentation
- Flutter: UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase. Flutter Documentation
- Spring Boot: Framework for building Java-based enterprise applications. Spring Boot Documentation
- Spring Security: Powerful and customizable authentication and access control framework. Spring Security Documentation
- Java: Object-oriented programming language used for backend development. Java Documentation
- Python: Programming language used for machine learning model loading. Python Documentation
- RabbitMQ: Open-source message broker software used for communication between components. RabbitMQ Documentation
- Dart: Programming language used for Flutter app development. Dart Documentation
- JavaScript: High-level, interpreted programming language for web application frontend. JavaScript Documentation
Ensure you have the following installed and configured on your development machine:
- Java Development Kit (JDK) 17 or later: Download and Install
- Python 3.10: Download and Install
- Flutter: Follow the installation guide based on your operating system: Flutter Installation Guide
- Node.js: Required by JHipster and other build tools. Download and Install
- Dart SDK: Required for Flutter development. Download and Install
-
Web Application (Frontend & Backend Integration):
-
Developed with JHipster, Vue.js, Spring Boot, and Spring Security.
-
The frontend is built with Vue.js, providing a responsive and user-friendly interface.
-
Spring Boot powers the backend, offering RESTful APIs and seamless integration with the frontend.
-
Frontend source code: web-application/src/main/webapp
-
Backend source code: web-application/src/main/java
-
-
Mobile Application:
-
Developed with Flutter and Dart.
-
The mobile app provides a cross-platform experience with a single codebase.
-
Dart is used for building the logic, and Flutter's widgets ensure a native look and feel.
-
Mobile app source code: [mobile-application/lib](mobile-application/lib)
-
-
Python Component:
-
Used for loading pre-trained models in
.h5format. -
TensorFlow is employed to load and run machine learning models.
-
Predictions are published on a RabbitMQ queue and retrieved at the backend.
-
Python source code: [python-component](python-component)
-
-
Web Application:
# Navigate to the web application directory cd web-application # Install dependencies npm install # Run the application ./mvnw
-
Mobile Application:
# Navigate to the mobile application directory cd mobile-application # Install dependencies and run the application flutter pub get flutter run
-
Python: cd python-folder
pip install -r requirements.txt # Run the Python component python database.py
The project uses the following default credentials for different roles:
- Username: admin
- Password: admin
- Username: mohamed
- Password: mohamed
- Username: assouma
- Password: assouma
- Username: najia
- Password: najia
- Username: tajani
- Password: tajani
- Username: saad
- Password: saad