npm package: @obliqllc/create-app
Description: CLI tool to create School Management System with Next.js and Express
Author: obliqllc
Latest version: 1.0.1

# 🎓 Create Oblique App

[![npm version](https://img.shields.io/npm/v/@obliqllc/create-app.svg)](https://www.npmjs.com/package/create-oblique-app)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org/)

> 🚀 The fastest way to create a full-stack School Management System with Next.js and Express.js

**Create Oblique App** is a CLI tool that scaffolds a complete, production-ready School Management System in seconds. It includes a modern Next.js frontend with TypeScript and Tailwind CSS, paired with a robust Express.js backend.

## ✨ Features

- 🎨 **Modern Frontend** - Next.js 14+ with TypeScript and Tailwind CSS
- ⚡ **Fast Backend** - Express.js with organized folder structure
- 📁 **Complete Project Structure** - Pre-configured folders for controllers, models, routes, and more
- 🔐 **Security Ready** - Environment variables setup with .env template
- 📦 **Auto Installation** - Automatically installs all dependencies
- 🎯 **Production Ready** - Best practices and organized architecture
- 🔧 **Easy Configuration** - Comes with sensible defaults
- 📝 **Well Documented** - Includes README and configuration files

## 🚀 Quick Start

### Using npx (Recommended)

No installation required! Just run:

```bash
npx create-oblique-app
```

### Using npm

```bash
npm create oblique-app
```

### Global Installation

```bash
npm install -g create-oblique-app
create-oblique-app
```

## 📺 Demo

```bash
$ npx create-oblique-app

╔═══════════════════════════════════════════════════════════╗
║                                                           ║
║     ██████╗ ██████╗ ██╗     ██╗ ██████╗ ██╗   ██╗███████╗║
║    ██╔═══██╗██╔══██╗██║     ██║██╔═══██╗██║   ██║██╔════╝║
║    ██║   ██║██████╔╝██║     ██║██║   ██║██║   ██║█████╗  ║
║    ██║   ██║██╔══██╗██║     ██║██║▄▄ ██║██║   ██║██╔══╝  ║
║    ╚██████╔╝██████╔╝███████╗██║╚██████╔╝╚██████╔╝███████╗║
║     ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚══▀▀═╝  ╚═════╝ ╚══════╝║
║                                                           ║
║            School Management System Generator            ║
║                      Version 1.0.0                       ║
╚═══════════════════════════════════════════════════════════╝

📦 Enter your app name: my-school-app

Creating project: my-school-app
✓ Created project folder: my-school-app
✓ Creating folder structure...
✓ Installing Next.js...
✓ Installing backend dependencies...

🎉 PROJECT CREATED SUCCESSFULLY!
```

## 📁 What You Get

```
my-school-app/
├── web/
│   ├── frontend/
│   │   └── my-school-app/        # Next.js App
│   │       ├── app/               # App Router
│   │       ├── components/        # React Components
│   │       ├── public/            # Static Files
│   │       └── package.json
│   │
│   └── backend/
│       ├── controllers/           # Route Controllers
│       ├── middleware/            # Express Middleware
│       ├── models/                # Data Models
│       ├── routes/                # API Routes
│       ├── responders/            # Response Handlers
│       ├── utils/                 # Utility Functions
│       ├── config/                # Configuration
│       ├── uploads/               # File Uploads
│       │   ├── admin/
│       │   ├── teachers/
│       │   ├── students/
│       │   └── notices/
│       ├── log/                   # Application Logs
│       ├── index.js               # Entry Point
│       └── package.json
│
├── app/                           # Mobile App (Future)
├── config/                        # Project Config
├── docs/                          # Documentation
├── .env                           # Environment Variables
├── .gitignore                     # Git Ignore Rules
└── README.md                      # Project Documentation
```

## 🛠️ Tech Stack

### Frontend
- **Next.js 14+** - React framework with App Router
- **TypeScript** - Type-safe JavaScript
- **Tailwind CSS** - Utility-first CSS framework
- **React 18** - Latest React features

### Backend
- **Node.js** - JavaScript runtime
- **Express.js** - Fast web framework
- **CORS** - Cross-origin resource sharing
- **Multer** - File upload handling
- **Dotenv** - Environment management

## 📖 Usage

### 1. Create Your App

```bash
npx create-oblique-app
```

Enter your desired app name when prompted.

### 2. Navigate to Project

```bash
cd your-app-name
```

### 3. Configure Environment

Edit `.env` file with your configuration:

```env
NODE_ENV=development
PORT=3001
FRONTEND_URL=http://localhost:3000

# Add your database credentials
DB_HOST=localhost
DB_PORT=5432
DB_NAME=sms_db
DB_USER=your_username
DB_PASSWORD=your_password

# JWT Configuration
JWT_SECRET=your-super-secret-key
JWT_EXPIRE=7d
```

### 4. Start Backend Server

```bash
cd web/backend
npm run dev
```

Backend runs on `http://localhost:3001`

### 5. Start Frontend Server

```bash
cd web/frontend/your-app-name
npm run dev
```

Frontend runs on `http://localhost:3000`

## 🎯 Features Included

### Backend API
- ✅ Express server with organized structure
- ✅ CORS enabled
- ✅ File upload support with Multer
- ✅ Environment variable management
- ✅ Error handling middleware
- ✅ Health check endpoint
- ✅ Logging system
- ✅ Static file serving

### Frontend
- ✅ Next.js 14 with App Router
- ✅ TypeScript for type safety
- ✅ Tailwind CSS pre-configured
- ✅ Responsive design ready
- ✅ SEO optimized
- ✅ Fast refresh enabled

### Configuration
- ✅ ESLint configured
- ✅ Git ignore setup
- ✅ Environment variables template
- ✅ Package.json with scripts
- ✅ README documentation

## 🔧 Available Scripts

### Backend (`web/backend`)

```bash
npm start       # Start production server
npm run dev     # Start development server with nodemon
```

### Frontend (`web/frontend/your-app-name`)

```bash
npm run dev     # Start development server
npm run build   # Build for production
npm start       # Start production server
npm run lint    # Run ESLint
```

## 📚 API Endpoints

Your backend comes with these default endpoints:

- `GET /health` - Health check endpoint
- `GET /api` - API information and version
- `GET /uploads/*` - Serve uploaded files

## 🤝 Contributing

We welcome contributions! Here's how you can help:

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## 🐛 Reporting Issues

Found a bug? Please [open an issue](https://github.com/obliqllc/create-app/issues) with:
- Description of the issue
- Steps to reproduce
- Expected behavior
- Screenshots (if applicable)
- Your environment (OS, Node version, etc.)

## 💡 Use Cases

Perfect for building:
- 🏫 School Management Systems
- 📚 Learning Management Platforms
- 👨‍🎓 Student Information Systems
- 📊 Educational Dashboards
- 🎓 Course Management Applications
- 📝 Assignment Tracking Systems

## 🔐 Security

- Environment variables for sensitive data
- CORS configuration included
- File upload restrictions ready to configure
- Input validation structure in place

## 📦 Requirements

- **Node.js** >= 18.0.0
- **npm** >= 9.0.0 (or yarn/pnpm)
- **Git** (recommended)

## 🌟 Why Choose Create Oblique App?

- ⚡ **Fast Setup** - Get started in under 2 minutes
- 🏗️ **Best Practices** - Industry-standard architecture
- 📖 **Well Documented** - Clear documentation and examples
- 🔄 **Actively Maintained** - Regular updates and improvements
- 💪 **Production Ready** - Deploy with confidence
- 🎨 **Modern Stack** - Latest technologies and frameworks
- 🆓 **Free & Open Source** - MIT licensed

## 📝 License

MIT © [obliqllc](https://github.com/obliqllc)

## 🔗 Links

- [GitHub Repository](https://github.com/obliqllc/create-app)
- [Report Issues](https://github.com/obliqllc/create-app/issues)
- [NPM Package](https://www.npmjs.com/package/obliqllc/create-app)

## 💬 Support

Need help? Here's how to get support:

- 📧 Email: support@obliqllcllc.com
- 💬 [GitHub Discussions](https://github.com/obliqllc/create-app/discussions)
- 🐛 [Issue Tracker](https://github.com/obliqllc/create-app/issues)

## 🙏 Acknowledgments

Built with ❤️ by [obliqllc](https://github.com/obliqllc)

Special thanks to:
- Next.js team for the amazing framework
- Express.js community
- All our contributors


**Made with ❤️ for developers who want to build amazing school management systems fast!**

⭐ Star us on [GitHub](https://github.com/obliqllc/create-app) if you find this helpful!