An interactive project scaffolding system with a guided wizard that:
- ✅ Builds both backend and frontend structures automatically
- ✅ Generates starter code with best practices
- ✅ Supports multiple frameworks (FastAPI, Flask, Django, React, Vue, Angular)
- ✅ Creates requirements.txt, folder hierarchy, and DB setup
- ✅ Beautiful UI with React, Framer Motion, Emotion, and Lenis smooth scrolling
- ✅ Real-time preview and status tracking
cd backend
pip install -r requirements.txt
python -m uvicorn app.main:app --reload --port 8000Backend will run on: http://localhost:8000
cd frontend
npm install
npm run devFrontend will run on: http://localhost:3000
app/services/project_generator.py- Core project generation logicapp/services/templates.py- Framework-specific code templatesapp/routes/project_routes.py- API endpoints for projects- Database models for tracking generated projects
- SQLite database (can be switched to MySQL)
- React 18 with hooks
- Framer Motion for smooth animations
- Emotion for CSS-in-JS styling
- Lenis for buttery smooth scrolling
- React Icons for beautiful icons
- Axios for API communication
Hero.jsx- Landing page with animated featuresWizard.jsx- Multi-step wizard with progress tracking- Step components (to be created):
- Step 1: Project Info (name, description, frameworks)
- Step 2: Customization (folder names, extra files)
- Step 3: Preview (project tree visualization)
- Step 4: Build (execute generation with real-time status)
- React 18.3.1
- Framer Motion 11.5.4 - Animations
- Emotion 11.13.3 - Styled components
- Lenis 1.1.9 - Smooth scroll
- Vite 5.4.3 - Build tool
- Axios 1.7.7 - HTTP client
- FastAPI 0.119.0
- SQLAlchemy 2.0.44
- Pydantic 2.12.3
- Uvicorn 0.38.0
projectMaker/
├── backend/
│ ├── app/
│ │ ├── services/
│ │ │ ├── project_generator.py # Core generation logic
│ │ │ └── templates.py # Framework templates
│ │ ├── routes/
│ │ │ ├── project_routes.py
│ │ │ └── setup_routes.py
│ │ ├── main.py
│ │ ├── database.py
│ │ ├── models.py
│ │ ├── schemas.py
│ │ └── crud.py
│ ├── config/
│ │ └── db_config.json
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── Hero.jsx
│ │ │ ├── Wizard.jsx
│ │ │ └── steps/
│ │ │ ├── StepProjectInfo.jsx
│ │ │ ├── StepCustomization.jsx
│ │ │ ├── StepPreview.jsx
│ │ │ └── StepBuild.jsx
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── index.css
│ ├── index.html
│ ├── vite.config.js
│ └── package.json
└── SETUP.md
I've created:
- ✅ Backend project generator service
- ✅ Complete template system for all frameworks
- ✅ Frontend with React, Framer Motion, Emotion, Lenis
- ✅ Hero landing page with animations
- ✅ Wizard component with step progress
Still needed (I can create these next):
- Step components (StepProjectInfo, StepCustomization, StepPreview, StepBuild)
- Enhanced API endpoints for preview and build
- Enhanced schemas for wizard data
- PDF generation feature (optional)
- Creates full project structure
- Generates starter code for selected frameworks
- Creates requirements.txt / package.json
- Generates README with setup instructions
- Creates .gitignore
- Optional Git initialization
Backend:
- FastAPI (with SQLAlchemy, Pydantic, CRUD)
- Flask (with Flask-SQLAlchemy, Blueprints)
- Django (with DRF, CORS)
Frontend:
- React (with Vite, hooks)
- Vue 3 (with Composition API)
- Angular 17
- Plain HTML/CSS/JS
- Smooth scroll with Lenis
- Fluid animations with Framer Motion
- Modern dark theme
- Responsive design
- Real-time validation
- Progress tracking
- Status feedback
Edit backend/app/main.py or run:
uvicorn app.main:app --port YOUR_PORTEdit frontend/vite.config.js:
server: {
port: YOUR_PORT
}Edit backend/config/db_config.json to use MySQL instead of SQLite.
Create .env in backend/ (optional):
DATABASE_URL=sqlite:///./projectmaker.db
SECRET_KEY=your-secret-key- Landing Page - User sees hero with features
- Start Wizard - Click "Start Building"
- Step 1: Project Info - Enter name, description, select frameworks
- Step 2: Customization - Customize folder names, add extra folders
- Step 3: Preview - See project tree before generation
- Step 4: Build - Execute generation with real-time status
- Done! - Download project or get location path
Just install dependencies and start both servers. The frontend proxies API requests to the backend automatically.