DiseaseDx is a disease diagnosis system developed as part of my final project in Computer Science.
- About the Project
- Setting Up the Local Environment
- Running the Project
- Configuring VS Code Debugging
- Diagrams
- Technologies Used
DiseaseDx is a system designed to assist in diagnosing diseases by evaluating symptoms and test results using an evaluation tree. It leverages SQLAlchemy for database interactions and Streamlit for front-end with caching and performance optimization.
Follow these steps to set up the project locally:
- Python 3.13
pipenvfor dependency management- If running on Windows it also needs
protobuf==5.27.0
# Check if pipenv is installed
$ pip show pipenv
# Install pipenv if not installed
$ pip install pipenv
# Install dependencies from Pipfile
$ pipenv installYou can run the project in three ways:
-
Using a MySQL Database:
- Create a MySQL database called
diseasedx_test. - Set the environment variables
MYSQL_USERandMYSQL_PASSwith your MySQL credentials.
- Create a MySQL database called
-
Using a SQLite Database in Memory:
- Modify the connection string in
db_config.pyto use SQLite in-memory mode.
- Modify the connection string in
-
Using a Local SQLite Database:
- Modify the connection string in
db_config.pyto use a local SQLite database (e.g.,sqlite:///mylocaldb.db). - Install the SQLite extension for VS Code to interact with the database.
- Modify the connection string in
Tip: For the local SQLite database, after running the project and creating
mylocaldb.db, you can open it in VS Code:
- Press
CTRL + SHIFT + P, typeSQLite: Open Database, and selectmylocaldb.db.- A blade will open in the bottom-left corner where you can interact with the database.
To debug the project in VS Code, you can use the following launch.json configuration:
- Open the
.vscodefolder in your project directory. - Create or edit the
launch.jsonfile with the above configuration. - To debug the Streamlit app:
- Open the Debug panel in VS Code (
CTRL + SHIFT + D). - Select the
Python:Streamlitconfiguration. - Click the green "Start Debugging" button.
- Open the Debug panel in VS Code (
- Python: Core programming language for the project.
- SQLAlchemy: ORM for database interactions.
- Streamlit: Used as front-end for caching and performance optimization.
- MySQL: Primary database for production.
- SQLite: Alternative database for local development and testing.
Feel free to contribute or reach out with any questions!


{ "version": "0.2.0", "configurations": [ { "name": "Python Debugger: Current File", "type": "debugpy", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": false }, { "name": "Python:Streamlit", "type": "debugpy", "request": "launch", "module": "streamlit", "args": [ "run", "main.py" ], "console": "integratedTerminal", "justMyCode": false, "cwd": "${workspaceFolder}/src" } ] }