Your interactive project scaffolding wizard is now fully built with:
- ✅ React + Framer Motion + Emotion + Lenis frontend
- ✅ FastAPI backend with project generation
- ✅ All 4 wizard steps implemented
- ✅ Real-time preview and build feedback
- ✅ Support for FastAPI, Flask, Django, React, Vue, Angular
By default, the backend allows common local dev origins:
- http://localhost:3000
- http://localhost:3010
- http://localhost:5173
- http://127.0.0.1:3000
- http://127.0.0.1:3010
- http://127.0.0.1:5173
Override by setting FRONTEND_ORIGINS in a .env file at repo root:
FRONTEND_ORIGINS=http://your-app.local:8081,https://your-domain.com
If FRONTEND_ORIGINS is set to an empty string, the backend allows any localhost port via regex (credentials disabled in this mode).
cd backend
python -m uvicorn app.main:app --reload --port 8000Backend runs on: http://localhost:8000
API Docs: http://localhost:8000/docs
cd frontend
npm install # First time only
npm run devFrontend runs on: http://localhost:3000
- Landing Page - Beautiful animated hero with features
- Click "Start Building" - Opens wizard
- Step 1: Project Info
- Enter project name and description
- Select backend framework (FastAPI, Flask, Django)
- Select frontend framework (React, Vue, Angular, HTML)
- Step 2: Customization
- Choose target OS (Linux, Mac, Windows)
- Set target directory
- Customize folder names
- Add custom folders
- Toggle Git initialization
- Step 3: Preview
- See expandable project tree
- Preview requirements.txt / package.json
- View file/folder counts
- Step 4: Build
- Click "Build Project Now"
- Watch real-time progress
- See success message with project path
- Options to open folder or create new project
Lightweight security headers are applied to all responses:
- X-Content-Type-Options: nosniff
- X-Frame-Options: DENY
- X-XSS-Protection: 1; mode=block
- Content-Security-Policy: default-src 'self' data: blob:
These are safe defaults for APIs and local dev. Adjust CSP if you serve HTML assets from other origins.
Global per-client rate limiting can be enabled if slowapi is installed.
- Enable/disable via .env: RATE_LIMIT_ENABLED=true|false
- Default limit via RATE_LIMIT_DEFAULT (e.g., 120/minute)
Limits apply per client IP to all endpoints via middleware. 429 status is returned when exceeded.
This application uses structured logging (Loguru) to help with debugging and monitoring.
- Logs are written to the logs directory inside /backend/logs.
- linux- ls -la /your_dir/projectMaker/backend/logs 2>/dev/null | tail -n +1
- A new file is created daily and retained for 7 days.
- Log level is INFO by default; request/response lines are emitted for each HTTP call.
View logs during development to troubleshoot issues, or tail the latest file in logs/.
- Smooth Scrolling: Lenis for buttery smooth page scroll
- Animations: Framer Motion for fluid UI transitions
- Styling: Emotion CSS-in-JS with gradient themes
- Icons: React Icons for beautiful UI elements
- Responsive: Works on all screen sizes
- Project Generation: Complete file/folder creation
- Template System: Framework-specific starter code
- Preview API: Non-destructive tree preview
- Build API: Actual project creation
- CORS Enabled: Frontend can call backend seamlessly
Supports these combinations:
- FastAPI + React
- Flask + Vue
- Django + Angular
- Any backend + Any frontend
- Backend only or Frontend only
Generates:
- Complete folder structure
- Starter code files
- requirements.txt / package.json
- README.md with setup instructions
- .gitignore
- .env.example
- Optional Git initialization
Health check and welcome message
Service health status
List all supported frameworks
Preview project structure (no files created)
Request Body:
{
"project_name": "My App",
"description": "Description here",
"backend_framework": "fastapi",
"frontend_framework": "react",
"backend_folder_name": "backend",
"frontend_folder_name": "frontend",
"custom_folders": ["docs", "tests"],
"initialize_git": true,
"target_directory": "/path/to/project"
}Response:
{
"tree": { /* project structure */ },
"requirements": "fastapi==0.119.0\n...",
"config": { /* your config */ }
}Build actual project (creates files)
Request Body: Same as /preview
Response:
{
"success": true,
"project_path": "/path/to/generated/project",
"operations": [
"✅ Created project root",
"✅ Created backend/",
"✅ Created frontend/",
...
],
"errors": []
}- Open http://localhost:3000
- Click "Start Building"
- Fill in:
- Name: "TaskManager"
- Description: "A task management app"
- Backend: FastAPI
- Frontend: React
- Customize:
- Target:
/home/john/projects/taskmanager - Add folder: "migrations"
- Target:
- Preview structure
- Click "Build Project Now"
- Done! Project created at specified location
Example for FastAPI + React:
taskmanager/
├── backend/
│ ├── app/
│ │ ├── __init__.py
│ │ ├── main.py
│ │ ├── database.py
│ │ ├── models.py
│ │ ├── schemas.py
│ │ ├── crud.py
│ │ └── routes/
│ │ ├── __init__.py
│ │ └── api_routes.py
│ ├── requirements.txt
│ └── .env.example
├── frontend/
│ ├── src/
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── index.css
│ ├── package.json
│ └── index.html
├── docs/
├── tests/
├── README.md
└── .gitignore
- No Manual Setup - Dev never creates folders/files manually
- Interactive Preview - See structure before building
- Real-time Feedback - Watch project being built
- Smart Defaults - Sensible folder names and structure
- Customizable - Change anything before building
- Cross-Platform - Works on Linux, Mac, Windows
- Framework Agnostic - Mix any backend with any frontend
- Production Ready - Generated code follows best practices
- Dark Theme with purple/pink gradients
- Glass Morphism effects
- Smooth Animations on all interactions
- Progress Tracking with visual indicators
- Status Badges for success/error feedback
- Expandable Tree View for project preview
- Responsive Design for all devices
- React 18.3.1
- Framer Motion 11.5.4
- Emotion 11.13.3
- Lenis 1.1.9
- Vite 5.4.3
- Axios 1.7.7
- React Icons 5.3.0
- FastAPI 0.119.0
- SQLAlchemy 2.0.44
- Pydantic 2.12.3
- Uvicorn 0.38.0
- Framework-specific starter code
- CRUD operations pre-built
- Database models included
- Environment variable templates
- Comprehensive README generation
- Git-ready projects
- Run both servers
- Visit http://localhost:3000
- Create your first project
- Optionally: Add PDF generation
- Optionally: Add code snippet preview
- Optionally: Add npm install automation
- Project names become folder names (slugified)
- Empty fields show helpful hints
- Preview is non-destructive (no files created)
- Build creates actual files on disk
- Generated projects are immediately usable
- Check backend logs for detailed info
Everything is built and ready to use. Just start both servers and enjoy your interactive project generator!