Update README.md to provide a comprehensive overview of the ScriptShare platform, including features, tech stack, setup instructions, admin capabilities, and contribution guidelines.
This commit is contained in:
128
README.md
128
README.md
@ -1,3 +1,127 @@
|
||||
# scriptshare-cursor
|
||||
# ScriptShare - Bash Script Library
|
||||
|
||||
Cursor Scriptshare Development.
|
||||
A modern, community-driven platform for discovering, sharing, and collaborating on bash scripts for system administration, automation, and development.
|
||||
|
||||
## Features
|
||||
|
||||
- 🚀 **Browse & Search**: Find scripts by category, OS compatibility, and other filters
|
||||
- 📝 **Submit Scripts**: Share your scripts with the community
|
||||
- 🔍 **Advanced Filtering**: Filter by OS, categories, date added, and more
|
||||
- 👥 **User Profiles**: Manage your scripts and track contributions
|
||||
- 🛡️ **Community Review**: All scripts are reviewed for quality and security
|
||||
- 📊 **Analytics**: Track script views, downloads, and popularity
|
||||
- 💬 **Comments & Ratings**: Community feedback and discussion
|
||||
- 🎨 **Modern UI**: Beautiful, responsive design with dark/light themes
|
||||
- 🔐 **Authentication**: Secure user accounts and profiles
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Frontend**: React 18 + TypeScript + Vite
|
||||
- **Styling**: Tailwind CSS + shadcn/ui components
|
||||
- **Database**: MySQL (Digital Ocean Managed Database)
|
||||
- **ORM**: Drizzle ORM
|
||||
- **State Management**: React Query + React Context
|
||||
- **Routing**: React Router DOM
|
||||
- **Forms**: React Hook Form + Zod validation
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. **Install dependencies**:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
2. **Set up environment variables**:
|
||||
```bash
|
||||
cp .env.example .env.local
|
||||
# Edit .env.local with your database credentials
|
||||
```
|
||||
|
||||
3. **Set up the database**:
|
||||
```bash
|
||||
npm run db:generate
|
||||
npm run db:migrate
|
||||
```
|
||||
|
||||
4. **Start development server**:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
5. **Open your browser**:
|
||||
Navigate to `http://localhost:5173`
|
||||
|
||||
## Database Setup
|
||||
|
||||
This app uses a MySQL database hosted on Digital Ocean. You'll need to:
|
||||
|
||||
1. Create a managed MySQL database on Digital Ocean
|
||||
2. Get your connection credentials
|
||||
3. Update the `.env.local` file with your database details
|
||||
|
||||
## Superuser Admin Setup
|
||||
|
||||
ScriptShare includes a comprehensive admin system with superuser capabilities:
|
||||
|
||||
### Creating Your First Superuser
|
||||
|
||||
You have two options for creating your first superuser:
|
||||
|
||||
#### Option 1: Quick Setup (Recommended for Development)
|
||||
```bash
|
||||
npm run create-default-superuser
|
||||
```
|
||||
|
||||
This creates a default superuser with these credentials:
|
||||
- **Email**: admin@scriptshare.com
|
||||
- **Password**: admin123
|
||||
- **Username**: admin
|
||||
- **Display Name**: System Administrator
|
||||
|
||||
⚠️ **Important**: Change the password immediately after first login!
|
||||
|
||||
#### Option 2: Interactive Setup
|
||||
```bash
|
||||
npm run create-superuser
|
||||
```
|
||||
|
||||
This prompts you to enter custom details for your admin account.
|
||||
|
||||
3. **Both scripts will output** your superuser credentials and save them to JSON files
|
||||
|
||||
### Admin Panel Features
|
||||
|
||||
- **Dashboard**: Overview of platform statistics and recent activity
|
||||
- **User Management**: Create and manage admin users and moderators
|
||||
- **Content Moderation**: Review and approve submitted scripts
|
||||
- **System Monitoring**: Track platform health and performance
|
||||
- **Analytics**: View usage statistics and trends
|
||||
|
||||
### Permission Levels
|
||||
|
||||
- **Super User**: Full system access including user management and system configuration
|
||||
- **Admin User**: Content moderation and user management capabilities
|
||||
- **Moderator**: Basic content review and approval permissions
|
||||
|
||||
### Accessing the Admin Panel
|
||||
|
||||
1. Log in with your superuser account
|
||||
2. Navigate to `/admin` or click "Super Admin" in the user menu
|
||||
3. Use the dashboard to manage the platform
|
||||
|
||||
**Note**: Only users with admin privileges can access the admin panel.
|
||||
|
||||
## Script Submission Process
|
||||
|
||||
1. Users submit scripts through the `/submit` page
|
||||
2. Scripts are reviewed by community moderators
|
||||
3. Approved scripts appear in the public library
|
||||
4. Users can rate, comment, and download approved scripts
|
||||
|
||||
## Contributing
|
||||
|
||||
We welcome contributions! Please see our contributing guidelines for more details.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License.
|
Reference in New Issue
Block a user