این پروژه شامل یک API برای مدیریت موجودیتهای شرکتی است که با استفاده از FastAPI ساخته شده و یک رابط کاربری نمایشی با استفاده از Streamlit ارائه میدهد.
This project provides an API for managing company entities, built with FastAPI and accompanied by a demo frontend using Streamlit.
- FastAPI: فریمورک قدرتمند برای ساخت API.
A powerful framework for building APIs. - SQLAlchemy: مدیریت تعاملات با پایگاه داده.
Manages database interactions. - Alembic: مدیریت مهاجرتهای پایگاه داده.
Handles database migrations. - Passlib: هش کردن رمز عبور.
Manages password hashing. - Streamlit: رابط کاربری ساده و تعاملی.
Provides a simple and interactive frontend interface.
-
کلون کردن مخزن | Clone the repository:
git clone https://github.com/sorna-fast/fast_api_company.git cd fast_api_company
2.ایجاد و فعالسازی محیط مجازی | Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
3.نصب وابستگیها | Install the dependencies:
pip install -r requirements.txt
1.اجرای مهاجرتهای پایگاه داده | Apply database migrations:
alembic upgrade head
2.اجرای برنامه | Run the application:
python run.py
3.دسترسی به رابط کاربری | Access the frontend:
مرورگر خود را باز کرده و به آدرس http://localhost:8501 بروید. Open your browser and navigate to http://localhost:8501.
فایل main.py را در ویرایشگر کد خود باز کنید.
در این فایل، به دنبال بخشی بگردید که اتصال به پایگاه داده تنظیم شده است. معمولاً چیزی شبیه به این خواهد بود:
SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db"
مقدار SQLALCHEMY_DATABASE_URL را با اطلاعات پایگاه داده خود جایگزین کنید. به عنوان مثال، برای استفاده از یک پایگاه داده PostgreSQL:
SQLALCHEMY_DATABASE_URL = "postgresql://user:password@localhost/dbname"
جزئیات مربوط به user، password، localhost و dbname را با مقادیر مناسب جایگزین کنید.
پس از اعمال تغییرات، فایل را ذخیره کنید.
سپس، برای اعمال مهاجرتهای پایگاه داده، دستور زیر را اجرا کنید:
alembic upgrade head
این دستور ساختار پایگاه داده را بهروز میکند.
اکنون میتوانید برنامه را با دستور زیر اجرا کنید:
python run.py
برای هرگونه سوال یا پیشنهاد، میتوانید از طریق ایمیل با من تماس بگیرید: masudpythongit@gmail.com