harshadh01's picture
Update README.md
a1ef67c verified
metadata
title: AI REST API Generator
emoji: πŸ€–
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 7860
pinned: false
license: mit

πŸ€– AI REST API Generator

AI REST API Generator is a developer-focused tool that automatically generates Django REST Framework backends using AI or manual configuration. It converts high-level requirements into a fully structured, runnable Django project with CRUD APIs, serializers, views, URLs, and settings.

🚧 Status: Under active development πŸ“§ Contact: harshadhole04@gmail.com


✨ Features

  • ⚑ AI-Powered Backend Generation

    • Generate Django REST APIs from natural language prompts
    • Automatically infers models, fields, and relationships
  • 🧱 Manual Model Builder

    • Define models, fields, relationships (One-to-One, One-to-Many)
    • Full control without AI if preferred
  • 🧩 Schema-Driven Architecture

    • JSON Schema validation before code generation
    • Auto-fixes common schema issues safely
  • πŸ“¦ Complete Django Project Output

    • Models, serializers, views, URLs
    • JWT authentication support
    • Database configuration (SQLite / PostgreSQL)
    • Static & media configuration
  • πŸ“₯ One-Click Download

    • Generated backend is zipped and ready to run
  • 🧠 Pluggable LLM Support

    • OpenAI
    • Groq
    • Easy to extend for other providers

πŸ—οΈ Architecture Overview

Streamlit UI
   ↓
Pipeline Orchestrator
   ↓
LLM (Model Prompt / Spec Generation)
   ↓
Schema Validation (JSON Schema)
   ↓
Django Code Generator
   ↓
Ready-to-run Django REST Project

πŸš€ How It Works

  1. Input

    • Project name & description
    • Choose AI-generated models or manual models
    • Select database and authentication
    • Provide LLM provider and API key
  2. Validation

    • Generated spec is validated against a strict JSON schema
    • Automatic normalization and safe fixes applied
  3. Generation

    • Django project is created in an isolated run directory
    • Apps, models, serializers, views, URLs, settings generated
  4. Output

    • Project is zipped
    • Download instantly from the UI

πŸ–₯️ Running Locally

1️⃣ Clone the Repository

git clone https://github.com/harshadSH/ai-rest-api-generator.git
cd ai-rest-api-generator

2️⃣ Create Virtual Environment

python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Run the Streamlit App

streamlit run app.py

πŸ“‚ Generated Project Structure

project_name/
β”œβ”€β”€ manage.py
β”œβ”€β”€ project_name/
β”‚   β”œβ”€β”€ settings.py
β”‚   β”œβ”€β”€ urls.py
β”‚   └── wsgi.py
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ models.py
β”‚   β”œβ”€β”€ serializers.py
β”‚   β”œβ”€β”€ views.py
β”‚   β”œβ”€β”€ urls.py
β”‚   └── admin.py
β”œβ”€β”€ requirements.txt
└── README.md

πŸ›‘οΈ Authentication

  • Supports JWT Authentication
  • All CRUD endpoints can be protected
  • Easily extendable to session-based auth

πŸ§ͺ Validation & Reliability

  • Strict JSON Schema enforcement

  • Deterministic naming conventions

  • Auto-correction of:

    • Database engine names
    • Model and field naming
    • Missing required fields
  • Prevents invalid or unsafe Django code generation


🌍 Deployment

This project is suitable for:

  • Local development
  • Docker-based deployment
  • Cloud hosting (AWS, Azure, GCP, Railway, Render)

⚠️ Note: Production hardening (rate limiting, monitoring, secrets management) should be added as per deployment needs.


πŸ“œ License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution.


πŸ‘¨β€πŸ’» Author

Harshad Hole Bachelor of Engineering – Artificial Intelligence & Data Science πŸ“§ Email: harshadhole04@gmail.com


⭐ Why This Project Matters

  • Solves repetitive backend boilerplate
  • Demonstrates real-world use of LLMs in software engineering
  • Combines AI + validation + deterministic code generation
  • Strong portfolio-grade project for AI / Backend / Full-Stack roles

If you want, I can also:

  • Write a β€œProject Motivation” section
  • Optimize README for Hugging Face Spaces
  • Add badges (Python, Django, MIT, AI)
  • Review it from a recruiter’s perspective

Just tell me πŸ‘