backend-studio
v2.0.3
Published
π Universal CLI to scaffold Express.js & Flask backends with MongoDB, PostgreSQL, MySQL, SQLite support. Features TypeScript, CORS, Nodemon, and virtual environments.
Maintainers
Readme
π¨ Backend Studio
π¨ Your creative workspace for backend development
Craft beautiful Express.js & Flask backends with MongoDB, PostgreSQL, MySQL, SQLite support
π Features
π₯ Dual Framework Support
- Express.js - Fast, unopinionated web framework for Node.js
- Flask - Lightweight WSGI web application framework for Python
ποΈ Multi-Database Support
- MongoDB with Mongoose ODM
- PostgreSQL with Sequelize ORM
- MySQL with Sequelize ORM
- SQLite for lightweight development
- No Database option for API-only projects
βοΈ Developer Experience
- TypeScript support for Express projects
- Python Virtual Environment for Flask projects
- CORS configuration out of the box
- Nodemon for auto-restart during development
- Environment Variables with dotenv
- Interactive CLI with beautiful prompts
π Quick Start
Create Your Backend in 30 Seconds
npx backend-studio my-awesome-backend
cd my-awesome-backend
npm installThat's it! Your backend is ready to rock! πΈ
π¦ Installation & Usage
Option 1: NPX (Recommended)
npx backend-studio <project-name>Option 2: Global Installation
npm install -g backend-studio
backend-studio <project-name>π― Example Commands
# Create Express.js backend
npx backend-studio my-express-api
# Create Flask backend
npx backend-studio my-flask-api
# Navigate and install dependencies
cd my-express-api
npm install
# Start development server
npm run devπ οΈ Interactive Setup
When you run the command, you'll be guided through an interactive setup:
For Express.js Projects:
β¨ Welcome to Express.js Backend Generator!
? Use TypeScript? (Y/n)
? Express server port: (3000)
? Enable CORS? (Y/n)
? Use Nodemon for development? (Y/n)
? Choose database option:
β― MongoDB (with Mongoose)
PostgreSQL (with Sequelize)
MySQL (with Sequelize)
SQLite (with Sequelize, file-based)
No databaseFor Flask Projects:
π Welcome to Flask Backend Generator!
? Create a Python virtual environment? (Y/n)
? Flask server port: (5000)
? Enable CORS? (Y/n)
? Choose database option:
β― SQLite (file-based, good for development)
PostgreSQL
MySQL
No database
? Set up MongoDB integration? (y/N)π Project Structure
Express.js Structure
my-express-backend/
βββ π package.json
βββ π§ .env
βββ π README.md
βββ π server.js (or server.ts)
βββ π routes/
β βββ π£οΈ index.js
βββ π models/
β βββ ποΈ User.js
βββ π middleware/
β βββ βοΈ auth.js
βββ π config/
βββ ποΈ database.jsFlask Structure
my-flask-backend/
βββ π requirements.txt
βββ π§ .env
βββ π README.md
βββ π app.py
βββ π models/
β βββ ποΈ user.py
βββ π routes/
β βββ π£οΈ main.py
βββ π config/
βββ ποΈ database.pyπ§ Environment Configuration
Your project comes with a pre-configured .env file:
Express.js
PORT=3000
NODE_ENV=development
MONGODB_URI=mongodb://localhost:27017/myapp
DB_HOST=localhost
DB_USER=user
DB_PASSWORD=password
DB_NAME=mydbFlask
FLASK_PORT=5000
FLASK_ENV=development
MONGODB_URI=mongodb://localhost:27017/myapp
DATABASE_URL=sqlite:///app.dbπ Getting Started After Setup
Express.js
cd your-project-name
npm install
# Development with auto-restart
npm run dev
# Production
npm startFlask
cd your-project-name
# Activate virtual environment (if created)
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run development server
python app.py
# Or with Flask CLI
flask runπ¨ What You Get Out of the Box
β Express.js Features
- Express Server with middleware setup
- Database Integration (MongoDB/PostgreSQL/MySQL/SQLite)
- CORS Configuration for cross-origin requests
- Environment Variables management
- TypeScript Support (optional)
- Nodemon for development auto-restart
- Basic Routing structure
- Error Handling middleware
β Flask Features
- Flask Application with blueprints
- Database Integration with SQLAlchemy/PyMongo
- CORS Support with Flask-CORS
- Virtual Environment setup
- Environment Variables with python-dotenv
- Basic Route structure
- Error Handling setup
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π¨βπ» Author
Abdul Gouse A
- GitHub: @Abdulgsk
- Email: [email protected]
β Show Your Support
If this project helped you, please consider giving it a β on GitHub!
Made with β€οΈ for the developer community
Happy Coding! π
