A full-featured project for dynamic data management (CRUD) that automatically generates CRUD APIs for every table in your PostgreSQL database.
CRUD/
├─ .gitignore
├─ LICENSE
├─ README.md
├─ backend/ # FastAPI server and database utilities
│ ├─ main.py
│ ├─ utils.py
│ ├─ inspectors.py
│ ├─ requirements.txt
│ └─ exit_uvicorn.txt
├─ desktop/ # PyQt6 desktop UI
│ ├─ main.py
│ └─ requirements.txt
├─ web/ # JavaScript web UI
│ └─ index.html
└─ docs/ # Documentation and styles
├─ index.html
├─ style.css
├─ script.js
└─ todo.md
Create a .env
file with your database info:
DBNAME=your_db_name
USER=your_db_user
PASSWORD=your_db_password
HOST=your_db_ip
SCHEMA=public
Create and activate a virtual environment:
Windows
python -m venv .venv
.\.venv\Scripts\activate
Linux / macOS
python3 -m venv .venv
source .venv/bin/activate
cd backend
pip install -r requirements.txt
uvicorn main:app --reload
cd desktop
pip install -r requirements.txt
python main.py
Just open web/index.html in your browser.
GET /api/tables
: List all tablesGET /api/tables/{table}/schema
: Get columns and types for a tableGET /api/tables/{table}
: Get table recordsPOST /api/tables/{table}
: Add a new recordPUT /api/tables/{table}/{pk}
: Edit a recordDELETE /api/tables/{table}/{pk}
: Delete a recordcurl http://127.0.0.1:8000/api/tables
This project is licensed under the MIT License. See LICENSE for details.
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.