nbd-app
Version:
š CLI tool to scaffold full-stack authentication starter projects with React, Node.js, and multiple auth providers (Email, Google, and more)
195 lines (145 loc) ⢠5.22 kB
Markdown
# nbd-app š
**nbd-app** is a powerful CLI tool that scaffolds production-ready, full-stack authentication starter projects. Get up and running in seconds with React, Node.js, Express, Tailwind CSS, and multiple authentication providers.
[](https://badge.fury.io/js/nbd-app)
[](https://opensource.org/licenses/MIT)
---
## ⨠Features
- šÆ **Multiple Auth Options**: Email verification, Google OAuth, and more
- ā” **Lightning Fast**: Vite + React for blazing fast development
- šØ **Beautiful UI**: Pre-configured Tailwind CSS styling
- š **Production Ready**: Security best practices built-in
- š ļø **Full Stack**: Complete frontend + backend setup
- š± **Responsive**: Mobile-first design approach
- š **Zero Config**: Works out of the box
## š Quick Start
**Run directly (recommended):**
```bash
npx nbd-app@latest
```
**ā Don't install globally** _(to always get the latest version)_
## šÆ Interactive Setup
The CLI will guide you through:
1. **Project Name** - Your project folder name
2. **Package Name** - NPM package name
3. **Language** - JavaScript (TypeScript coming soon)
4. **Framework** - React JS (Next.js coming soon)
5. **Auth Template** - Choose your authentication setup
## š Available Templates
### š Authentication Options
- **Email + Google** - Complete auth with email verification and Google OAuth
- **Email Only** - Traditional email/password with verification
- **Google Only** - Simple Google OAuth login
### š® Coming Soon
- Facebook, GitHub, Twitter OAuth
- TypeScript support
- Next.js templates
- Database integrations (MongoDB, PostgreSQL)
## š ļø Tech Stack
### Frontend
- **React 18** - Modern React with hooks
- **Vite** - Super fast build tool
- **Tailwind CSS** - Utility-first CSS framework
- **React Router** - Client-side routing
### Backend
- **Node.js** - JavaScript runtime
- **Express.js** - Web framework
- **JWT** - JSON Web Tokens for auth
- **Bcrypt** - Password hashing
- **Nodemailer** - Email service
## š Project Structure
```
your-project/
āāā frontend/
ā āāā src/
ā ā āāā components/
ā ā āāā pages/
ā ā āāā utils/
ā ā āāā App.jsx
ā āāā public/
ā āāā package.json
āāā backend/
ā āāā routes/
ā āāā middleware/
ā āāā models/
ā āāā controllers/
ā āāā server.js
āāā .env.example
āāā README.md
```
## š Getting Started
After creating your project:
```bash
# Navigate to your project
cd your-project-name
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Edit .env with your credentials
# Start development servers
npm run dev
```
## š§ Configuration
### Environment Variables
```env
# Database
DATABASE_URL=your_database_url
# JWT
JWT_SECRET=your_jwt_secret
# Email Service
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_email_password
# Google OAuth (if using Google auth)
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
```
## š Documentation
### Authentication Flow
1. **Email Verification** - Users receive verification emails
2. **Secure Login** - JWT tokens with refresh mechanism
3. **Protected Routes** - Frontend and backend route protection
4. **Password Reset** - Secure password reset flow
### API Endpoints
- `POST /api/auth/register` - User registration
- `POST /api/auth/login` - User login
- `GET /api/auth/verify/:token` - Email verification
- `POST /api/auth/forgot-password` - Password reset
- `GET /api/auth/google` - Google OAuth
## š¤ Contributing
We welcome contributions! Here's how you can help:
1. **Add Templates** - Create new authentication templates
2. **Report Bugs** - Open issues for any problems
3. **Feature Requests** - Suggest new features
4. **Documentation** - Improve our docs
### Adding New Templates
```bash
# Create a new template folder
templates/
āāā react_facebook_auth/
ā āāā frontend/
ā āāā backend/
ā āāā README.md
```
## š Roadmap
- [ ] TypeScript support
- [ ] Next.js templates
- [ ] Vue.js support
- [ ] Database integrations
- [ ] Docker support
- [ ] Testing setup
- [ ] CI/CD templates
## š Issues & Support
- š **Bug Reports**: [GitHub Issues](https://github.com/Nischayb99/nbd-app/issues)
- š” **Feature Requests**: [GitHub Discussions](https://github.com/Nischayb99/nbd-app/discussions)
- š§ **Email**: nischayb99@gmail.com
## š License
[MIT](./LICENSE) Ā© [Nischay Bandodiya](https://github.com/Nischayb99)
## š Acknowledgments
- Thanks to all contributors
- Inspired by create-react-app and similar tools
- Built with ā¤ļø for the developer community
---
<div align="center">
**ā Star this repo if it helped you!**
Made with ā¤ļø by [Nischay Bandodiya](https://github.com/Nischayb99)
</div>