This project is a dynamic database generator built using SQLAlchemy, Pydantic, FastAPI, PySide6, Streamlit, and HTML. The folder structure is organized to separate the backend and frontend components effectively.
-
api
__init__.py
: Initialization file for the API package.- routes
__init__.py
: Initialization file for the routes package.example.py
: Example route definitions.
- schemas
__init__.py
: Initialization file for the schemas package.example.py
: Example Pydantic schemas.
main.py
: Entry point for the FastAPI application.
-
db
__init__.py
: Initialization file for the database package.models.py
: SQLAlchemy models definitions.database.py
: Database connection setup.crud.py
: CRUD operations for the models.
-
core
__init__.py
: Initialization file for the core package.config.py
: Configuration settings for the project.dependencies.py
: Dependency injection for the FastAPI application.
-
tests
__init__.py
: Initialization file for the tests package.test_example.py
: Example test cases.
-
pyside
__init__.py
: Initialization file for the PySide6 package.main.py
: Entry point for the PySide6 application.widgets.py
: Custom widgets for the PySide6 application.
-
streamlit
main.py
: Entry point for the Streamlit application.
-
html
index.html
: HTML file for the web interface.
- FastAPI: The backend API is built using FastAPI. It serves as the main interface for interacting with the database and performing CRUD operations.
- SQLAlchemy: Used for ORM (Object-Relational Mapping) to manage database models and interactions.
- Pydantic: Utilized for data validation and serialization within the FastAPI application.
- PySide6: Provides a desktop GUI for interacting with the database generator.
- Streamlit: Offers a web-based interface for the same purpose.
- HTML: Basic web page for additional frontend needs.
- Contains test cases to ensure the functionality and reliability of the backend components.
- Python 3.8+
- FastAPI
- SQLAlchemy
- Pydantic
- PySide6
- Streamlit
-
Clone the repository:
git clone https://github.com/yourusername/DynamicDatabaseGenerator.git
-
Navigate to the project directory:
cd DynamicDatabaseGenerator
-
Install the required dependencies:
pip install -r requirements.txt
-
Start the FastAPI server:
uvicorn src.backend.api.main:app --reload
-
Run the PySide6 application:
python src/frontend/pyside/main.py
-
Launch the Streamlit application:
streamlit run src/frontend/streamlit/main.py
-
Open
index.html
in a web browser to view the HTML interface.
Contributions are welcome! Please fork the repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE
file for details.