Skip to content

mmk-cp/ham-hesab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

هم‌حساب (HamHesab)

تقسیم هزینه‌ها بین دوستان با تمرکز روی تسویه دقیق و شفاف.

امکانات

  • ثبت هزینه و تقسیم مساوی بین افراد
  • تایید هزینه توسط مشارکت‌کنندگان
  • ثبت پرداخت‌های واقعی (جزئی یا کامل)
  • گزارش تسویه ماهانه + مانده حساب شما با هر نفر
  • پنل ادمین برای تایید کاربران
  • تم روشن/تیره

تکنولوژی‌ها

  • Backend: FastAPI, SQLAlchemy, Alembic, MySQL
  • Frontend: Next.js, TailwindCSS, React Query

اجرای محلی (بدون Docker)

Backend

cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# .env بساز
DATABASE_URL="mysql+pymysql://user:pass@localhost:3306/friends_split?charset=utf8mb4"
SECRET_KEY="change_me_very_long_random"
ACCESS_TOKEN_EXPIRE_MINUTES=10080
CORS_ORIGINS="http://localhost:3000"

alembic upgrade head
uvicorn app.main:app --reload

Frontend

cd frontend
npm install

# .env.local بساز
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000/api/v1

npm run dev

اجرای پروژه با Docker

docker compose up --build

سرویس‌ها:

نکته: اولین کاربر ثبت‌نام‌شده ادمین و تاییدشده می‌شود.

متغیرهای محیطی مهم

Backend

  • DATABASE_URL
  • SECRET_KEY
  • ACCESS_TOKEN_EXPIRE_MINUTES
  • CORS_ORIGINS

Frontend

  • NEXT_PUBLIC_API_BASE_URL

نکات توسعه

  • در Docker، migrationها موقع بالا آمدن Backend اجرا می‌شود.
  • اگر دیتای تستی را می‌خواهید پاک کنید:
    docker compose down -v

docker build --build-arg NEXT_PUBLIC_API_BASE_URL="https://hesab-api.tabaro.ir/api/v1" -t "registry.tabaro.ir/friends-split-front:latest" .

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors