Smart Lands Frontend
Translation pending
CommerceTypeScript · PythonGitHub @UIUO0OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Smart Lands is a full-stack real-estate marketplace for buying and selling land. It gives buyers and sellers a secure channel to negotiate, and uses AI for a personal assistant and for automated content moderation. Smart Lands منصة عقارية متكاملة لبيع وشراء الأراضي، توفّر قناة آمنة للتواصل بين البائع والمشتري، وتستخدم الذكاء الاصطناعي في المساعد الشخصي وفي الرقابة الآلية على المحادثات.Read the full README ↗
Smart Lands is a full-stack real-estate marketplace for buying and selling land. It gives buyers and sellers a secure channel to negotiate, and uses AI for a personal assistant and for automated content moderation.
Smart Lands منصة عقارية متكاملة لبيع وشراء الأراضي، توفّر قناة آمنة للتواصل بين البائع والمشتري، وتستخدم الذكاء الاصطناعي في المساعد الشخصي وفي الرقابة الآلية على المحادثات.
Available → Reserved → Sold automatically.valid / invalid), with automatic warning emails.┌────────────────────┐ HTTPS / cookies ┌──────────────────────┐
│ Next.js 16 (React) │ ──────────────────► │ FastAPI (async) │
│ App Router, Tailwind│ /api route proxy │ SQLAlchemy 2 + MySQL │
└────────────────────┘ └─────┬────────┬───────┘
│ │
Cloudinary (images) ◄─────┘ ├──► Any OpenAI-compatible LLM
SendGrid / SMTP (email) ◄──────────┤ (assistant + moderation)
└──► Google OAuth
| Layer | Technology |
|---|---|
| Backend | FastAPI, SQLAlchemy (async), MySQL (asyncmy), Pydantic, PyJWT, Passlib |
| AI | Any OpenAI-compatible chat API via httpx (configurable provider/model) |
| Frontend | Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4, @react-oauth/google |
| Services | Cloudinary, SendGrid, Google OAuth |
| Deployment | Railway (API, Procfile), Vercel (web) |
SmartLands/
├── backend/
│ ├── app/
│ │ ├── core/ # security, JWT, password hashing
│ │ ├── db/ # async engine & session
│ │ ├── models/ # SQLAlchemy models
│ │ ├── routers/ # auth, users, lands, chats, agreements, reports, ai_agent
│ │ ├── schemas/ # Pydantic schemas
│ │ ├── utils/ # email, llm client, error helpers
│ │ └── main.py # app factory, CORS, lifespan checks
│ ├── init_db.py # creates tables
│ └── .env.example
└── frontend/
├── src/app/ # pages + /api route handlers
├── src/components/
└── src/lib/
Requirements: Python 3.9+, Node.js 18+, MySQL.
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # then fill in your own values
python init_db.py # create tables
uvicorn app.main:app --reload # http://localhost:8000
Interactive API docs are served at http://localhost:8000/docs.
cd frontend
cp .env.example .env.local
npm install
npm run dev # http://localhost:3000
| Variable | Required | Purpose |
|---|---|---|
DATABASE_URL | ✅ | MySQL connection string (async driver) |
JWT_SECRET | ✅ | Secret used to sign tokens |
LLM_MODEL | AI | Model name, e.g. gpt-4o-mini, llama-3.1-8b-instant, gemini-2.5-flash |
LLM_BASE_URL | AI | Provider's OpenAI-compatible base URL (see .env.example) |
LLM_API_KEY | AI | Provider key (optional for a local Ollama) |
GOOGLE_CLIENT_ID | OAuth | Google sign-in |
CLOUDINARY_* | Images | Image uploads |
SENDGRID_API_KEY | Verification & warning emails | |
ALLOWED_ORIGINS | – | Comma-separated CORS origins |
The app runs without any AI configuration; assistant and moderation endpoints simply report that the AI service is not configured (reports stay
pending).
Secrets are read from the environment only. Never commit
.env; use.env.exampleas a template.