A modern open‑source scaffolding engine that generates complete backend + frontend boilerplates with a polished PDF summary. Designed for developers who value speed, structure, and simplicity.
- Features
- Supported Frameworks
- How It Works
- Developer API
- Easy Setup (Automated Scripts) ⭐ Recommended
- Installation (Manual Setup)
- Quick Start Commands
- Configuration (CORS, Rate Limiting, Logs)
- Troubleshooting
- Architecture
- Contributing & Support
- No Database Required - Works out of the box without any database setup
- Full‑stack generator with live preview and safe file creation
- Professional PDF summary (ASCII-only) with Ports & Scripts and Next Steps
- Per‑framework READMEs, .env.example hints, and .gitignore in subprojects
- Flexible CORS, optional rate limiting, structured JSON errors, Loguru logs
- Modular backend/frontend registry with aliasing and lazy loading
| Category | Frameworks |
|---|---|
| Backend | FastAPI • Express • NestJS • Next.js API • Bun.js • Koa • Spring Boot • Flask • Django |
| Frontend | React • Vue • Svelte • Next.js • Angular • HTML/CSS |
Special case: when both sides are Next.js (frontend + backend), a single full‑stack app can be generated.
- Pick backend and frontend frameworks
- Customize folders and libraries
- Preview the tree and requirements
- Build the project to disk
- Download the PDF summary and start coding
| Endpoint | Description |
|---|---|
GET /version |
Show version, git sha, build date |
POST /api/projects/preview |
Return live preview tree |
POST /api/projects/build |
Generate backend & frontend |
GET /api/projects/frameworks |
List frameworks and libraries |
GET /api/projects/generate-pdf |
Download polished PDF summary |
GET /api/fs/list |
List files/folders (jailed) |
POST /api/fs/create |
Create file/folder (jailed) |
The easiest way to get started! These scripts automate the entire setup process.
- Python 3.8+: https://python.org
- Node.js 18+: https://nodejs.org
Choose your operating system:
cd projectmaker
./Easy-SetUp/setup-linux.shcd projectmaker
./Easy-SetUp/setup-mac.shcd projectmaker
powershell -ExecutionPolicy Bypass -File Easy-SetUp\setup-windows.ps1cd projectmaker
Easy-SetUp\setup-windows.bat- ✅ Check prerequisites (Python, Node.js)
- ✅ Create and activate virtual environment
- ✅ Install all Python dependencies
- ✅ Install all npm dependencies
- ✅ Start backend server (port 8000)
- ✅ Start frontend server (port 5173)
- ✅ Open browser automatically
- 🌐 Frontend: http://localhost:5173
- ⚙️ Backend API: http://localhost:8000
- 📚 API Docs: http://localhost:8000/docs
# Linux
./Easy-SetUp/stop-linux.sh
# macOS
./Easy-SetUp/stop-mac.sh
# Windows PowerShell
powershell -ExecutionPolicy Bypass -File Easy-SetUp\stop-windows.ps1
# Windows CMD
Easy-SetUp\stop-windows.bat📖 For more details, see Easy-SetUp/README.md
- Python 3.8+ installed
- Node.js 18+ and npm installed
git clone https://github.com/SwagCode4U/projectmaker.git
cd projectmakerNavigate to the backend directory:
cd backendLinux/macOS:
python3 -m venv venvWindows (Command Prompt):
python -m venv venvWindows (PowerShell):
python -m venv venvLinux/macOS (Bash/Zsh):
source venv/bin/activatemacOS (if using bash):
source venv/bin/activateWindows (Command Prompt):
venv\Scripts\activate.batWindows (PowerShell):
venv\Scripts\Activate.ps1pip install -r requirements.txtpython -m uvicorn app.main:app --reload --port 8000✅ Backend is now running at: http://localhost:8000
Keep this terminal open and open a new terminal for the frontend.
Open a new terminal and navigate to the project root, then:
cd frontendnpm installnpm run dev✅ Frontend is now running at: http://localhost:5173
Terminal 1 - Backend:
cd projectmaker/backend
source venv/bin/activate # Linux/Mac
# OR venv\Scripts\activate # Windows
pip install -r requirements.txt
python -m uvicorn app.main:app --reload --port 8000Terminal 2 - Frontend:
cd projectmaker/frontend
npm install
npm run devAccess the application:
- 🌐 Frontend UI: http://localhost:5173
- ⚙️ Backend API: http://localhost:8000
- 📚 API Docs: http://localhost:8000/docs
- CORS: set
FRONTEND_ORIGINS(.env at repo root) to a comma‑separated list of allowed origins - Rate limiting (optional):
RATE_LIMIT_ENABLED=true|false,RATE_LIMIT_DEFAULT=120/minute - Logs: written to
logs/, rotated daily, kept 7 days
Issue: ModuleNotFoundError: No module named 'app'
Solution: Make sure you're in the backend directory and your virtual environment is activated:
cd backend
source venv/bin/activate # Linux/Mac
# OR: venv\Scripts\activate # Windows
python -m uvicorn app.main:app --reload --port 8000Issue: Permission denied when activating venv on Windows
Solution: Run PowerShell as Administrator or use:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserIssue: npm: command not found
Solution: Install Node.js from https://nodejs.org (version 18 or higher)
Issue: Port already in use
Solution: Change the port in frontend/vite.config.js or kill the process using port 5173:
# Linux/Mac:
lsof -ti:5173 | xargs kill -9
# Windows:
netstat -ano | findstr :5173
taskkill /PID <PID> /FSolution: Check that both servers are running:
- Backend: http://localhost:8000 (should show JSON response)
- Frontend: http://localhost:5173
If using different ports, update CORS settings in backend/app/main.py or set FRONTEND_ORIGINS environment variable.
projectmaker/
├─ backend/
│ ├─ app/
│ │ ├─ routes/ # APIs (preview, build, pdf, fs, frameworks)
│ │ ├─ services/
│ │ │ ├─ frameworks/ # per‑framework backends/frontends + registry
│ │ │ ├─ pdf_generator.py
│ │ │ └─ project_generator.py
│ │ └─ main.py # FastAPI app, CORS, logging, errors, /version
│ └─ requirements.txt
└─ frontend/
└─ src/ # React + Vite wizard (4 steps)
- Colored header, section dividers, and branding footer
- Configuration, Project Structure (ASCII tree), Dependencies
- Ports & Scripts table (dev commands and ports)
- Next Steps (env copy hints, install/run, optional git remote)
- PRs welcome for new frameworks, fixes, and docs
- Open issues for bugs or ideas
- Contact: amit9000@tutanota.com
If you find this useful:
- ⭐ Star the repo
- 🍴 Fork and build something awesome
- 📣 Share with your dev friends
Made with ❤️ by SwagCode4U
Generated with ProjectMaker















