π§ββοΈ Magical full-stack project generator with FastAPI, React, PostgreSQL, and Docker
npm install @rafeekpro/stackwizard> Create production-ready full-stack applications in seconds!





StackWizard is a powerful CLI tool that generates complete, production-ready full-stack applications with a single command. Get a fully configured project with FastAPI backend, React frontend, PostgreSQL database, and Docker Compose orchestration - all following industry best practices.
Clone and run directly:
``bashClone the repository
git clone https://github.com/rafeekpro/stackwizard.git
cd stackwizard
npm install
$3
Install from NPM registry:
`bash
Global installation
npm install -g @rafeekpro/stackwizardOr use npx directly
npx @rafeekpro/stackwizard my-awesome-app
`$3
Install from GitHub Packages registry:
`bash
Configure npm to use GitHub registry for @rafeekpro scope
npm config set @rafeekpro:registry https://npm.pkg.github.comInstall globally
npm install -g @rafeekpro/stackwizard
`> Note: Both NPM and GitHub Packages are now live with version 1.0.0!
π Usage
$3
Simply run the command and follow the interactive prompts:
`bash
From cloned repository
npm startOr after global installation
stackwizardOr use npx directly (no installation needed!)
npx @rafeekpro/stackwizard
`You'll be asked to configure:
- π Project name
- π¨ UI library (Material-UI or Tailwind CSS)
- ποΈ Database configuration
- π Port settings
- β
Additional features (Git initialization, dependency installation)
$3
Skip the prompts with command-line options:
`bash
node src/index.js --name my-app --ui mui --skip-git
`#### Available Options
`
Options:
-V, --version Output version number
-n, --name Project name
-u, --ui UI library (mui or tailwind)
-s, --skip-git Skip git initialization
-i, --install Install dependencies after creation
-q, --quick Quick mode - use all defaults
-h, --help Display help
`$3
Generate a project with all defaults in seconds:
`bash
node src/index.js --quick --name my-app
`ποΈ Generated Project Structure
`
your-project/
βββ backend/ # FastAPI backend application
β βββ app/
β β βββ api/ # API endpoints
β β βββ core/ # Core configuration & security
β β βββ crud/ # Database operations
β β βββ models/ # SQLAlchemy models
β β βββ schemas/ # Pydantic schemas
β β βββ main.py # Application entry point
β βββ alembic/ # Database migrations
β βββ tests/ # Backend tests
β βββ Dockerfile # Production-ready Dockerfile
βββ frontend/ # React frontend application
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Page components
β β βββ services/ # API service layer
β β βββ App.js # Main application component
β βββ public/ # Static assets
β βββ Dockerfile # Production-ready Dockerfile
βββ database/ # Database initialization
βββ docker-compose.yml # Docker orchestration
βββ .env # Environment configuration
βββ README.md # Project documentation
`π― What You Get
$3
- β
RESTful API with async/await support
- β
SQLAlchemy ORM with Alembic migrations
- β
JWT authentication & authorization
- β
Request validation with Pydantic
- β
CORS configuration
- β
Health check endpoints
- β
Comprehensive error handling
- β
100% type hints for better IDE support$3
- β
Modern React with Hooks
- β
React Router for navigation
- β
Axios with request/response interceptors
- β
Authentication context & protected routes
- β
Responsive design
- β
Material-UI or Tailwind CSS styling
- β
Environment-based configuration$3
- β
PostgreSQL 15 with optimal settings
- β
Database migrations with Alembic
- β
Connection pooling
- β
Automated backup support
- β
Health monitoring$3
- β
Multi-stage Dockerfiles for optimal image size
- β
Docker Compose with health checks
- β
Hot-reload for development
- β
Production-ready configuration
- β
Optional Redis & Nginx servicesπ Running Your Generated Project
After generation, start your full-stack application with:
`bash
cd your-project
docker-compose up -d
`Your application will be available at:
- π Frontend: http://localhost:3000
- π Backend API: http://localhost:8000
- π API Documentation: http://localhost:8000/docs
π οΈ Development Workflow
$3
Backend Development:
`bash
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload
`Frontend Development:
`bash
cd frontend
npm install
npm start
`$3
`bash
Create a new migration
alembic revision --autogenerate -m "Description"Apply migrations
alembic upgrade head
`π§ͺ Testing & Validation
$3
Watch your tests run in real-time:`bash
Install Cypress
make cypress-installTest MUI template visually
make cypress-muiTest Tailwind template visually
make cypress-tailwind
`$3
Ensure everything works before pushing to GitHub:`bash
Full validation (recommended)
npm run validate:fullQuick validation
npm run validate:quickInstall git hooks for automatic validation
npm run install-hooks
`$3
Run comprehensive tests with a single command:`bash
Using Makefile
make test-all # Run all tests
make pre-commit # Pre-commit checks
make docker-build-test # Test Docker buildsUsing orchestrator
npm run test:orchestrate # Smart mode
npm run test:orchestrate:full # Full test suite
``- Node.js 16.0.0 or higher
- npm 7.0.0 or higher
- Docker & Docker Compose (for running generated projects)
- Python 3.11+ (for local backend development)
Contributions are welcome! Feel free to:
- Report bugs and request features via GitHub Issues
- Submit pull requests with improvements
- Share feedback and suggestions
MIT Β© RafaΕ Εagowski
RafaΕ Εagowski - Full-Stack Developer
- GitHub: @rafeekpro
- NPM: @rafeekpro
This project leverages modern, production-ready technologies:
- FastAPI - High-performance Python web framework
- React - Component-based UI library
- PostgreSQL - Enterprise-grade database
- Docker - Container orchestration
- SQLAlchemy - Python SQL toolkit and ORM
- Alembic - Database migration tool
- Material-UI - React component library
- Tailwind CSS - Utility-first CSS framework
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π¦ NPM Package: @rafeekpro/stackwizard
- π¦ GitHub Package: @rafeekpro/stackwizard
- π€ Developer: RafaΕ Εagowski
---
Created with β€οΈ by RafaΕ Εagowski
Full-Stack Developer | Open Source Contributor
NPM β’
GitHub β’
Profile