Skip to main content
Switch to Dark
Laravel Applications Completed

Prompt Marketplace

December 2025
4 weeks
Solo Project
Prompt Marketplace
Overview

About This Project

# Prompt Marketplace

A modern Laravel SaaS application for browsing, purchasing, and selling AI prompts for tools like ChatGPT, Claude, and Midjourney.

## Features

- **Prompt Marketplace** - Browse, search, and filter AI prompts by category
- **Premium Content** - Subscription-based access to premium prompts via Stripe
- **User Authentication** - Registration, login, email verification, and two-factor authentication
- **User Profiles** - Manage profile, password, and appearance settings
- **Prompt Management** - Authors can create, edit, and publish their prompts
- **Reviews & Ratings** - Users can review and rate prompts
- **Saved Prompts** - Save prompts for later access
- **Dark Mode** - Full dark mode support throughout the application

## Tech Stack

- **Backend**: PHP 8.3, Laravel 12
- **Frontend**: Livewire 3, Volt, Flux UI, Tailwind CSS v4
- **Payments**: Laravel Cashier (Stripe)
- **Authentication**: Laravel Fortify (with 2FA)
- **Testing**: Pest v4
- **Code Style**: Laravel Pint

## Requirements

- PHP >= 8.2
- Composer
- Node.js & NPM
- MySQL or SQLite
- Stripe account (for payments)

## Installation

1. **Clone the repository**
```bash
git clone <repository-url>
cd prompt-marketplace
```

2. **Install dependencies**
```bash
composer install
npm install
```

3. **Environment setup**
```bash
cp .env.example .env
php artisan key:generate
```

4. **Configure your `.env` file**
```env
DB_CONNECTION=mysql
DB_DATABASE=prompt_marketplace
DB_USERNAME=your_username
DB_PASSWORD=your_password

STRIPE_KEY=your_stripe_publishable_key
STRIPE_SECRET=your_stripe_secret_key
```

5. **Run migrations and seeders**
```bash
php artisan migrate
php artisan db:seed
```

6. **Build frontend assets**
```bash
npm run build
```

## Development

### Start the development server

```bash
composer run dev
```

This starts all services concurrently:
- Laravel development server
- Queue worker
- Log viewer (Pail)
- Vite dev server

### Individual commands

```bash
# Start Laravel server only
php artisan serve

# Run Vite in development mode
npm run dev

# Build for production
npm run build

# Run queue worker
php artisan queue:listen
```

## Testing

```bash
# Run all tests
php artisan test

# Run a specific test file
php artisan test tests/Feature/Auth/AuthenticationTest.php

# Run tests with a filter
php artisan test --filter=testName
```

## Code Formatting

```bash
# Format code with Pint
vendor/bin/pint

# Format only changed files
vendor/bin/pint --dirty
```

## Project Structure

```
app/
├── Http/
│ ├── Controllers/ # Minimal - uses Volt components
│ └── Middleware/ # Custom middleware (EnsureUserIsAdmin)
├── Livewire/Actions/ # Livewire actions (Logout)
├── Models/ # Eloquent models
├── Policies/ # Authorization policies
├── Providers/ # Service providers
└── Services/ # Business logic layer
├── PromptService.php
├── SubscriptionService.php
└── PaymentService.php

resources/views/
├── components/
│ └── layouts/ # App, auth, and guest layouts
└── livewire/
├── auth/ # Authentication pages
├── pages/ # Main application pages
└── settings/ # User settings pages

database/
├── factories/ # Model factories for testing
├── migrations/ # Database migrations
└── seeders/ # Database seeders
```

## Key Models

| Model | Description |
|-------|-------------|
| `User` | Users with Stripe billing support |
| `Prompt` | AI prompts with slugs, categories, and metrics |
| `Category` | Prompt categories with icons |
| `Review` | User reviews and ratings |
| `Payment` | Payment records for prompts and subscriptions |
| `SubscriptionPlan` | Stripe subscription plans |

## Available Routes

| Route | Description |
|-------|-------------|
| `/` | Home page with featured prompts |
| `/prompts` | Browse all prompts |
| `/prompts/{slug}` | View a single prompt |
| `/pricing` | Subscription plans |
| `/login` | User login |
| `/register` | User registration |
| `/dashboard` | User dashboard (authenticated) |
| `/settings/*` | User settings pages |

## Creating New Components

```bash
# Create a new Volt component
php artisan make:volt ComponentName --test --pest

# Create a new Livewire component
php artisan make:livewire Posts/CreatePost

# Create a new model with factory and seeder
php artisan make:model ModelName -fs
```

## Environment Variables

| Variable | Description |
|----------|-------------|
| `APP_NAME` | Application name |
| `APP_URL` | Application URL |
| `DB_*` | Database configuration |
| `STRIPE_KEY` | Stripe publishable key |
| `STRIPE_SECRET` | Stripe secret key |
| `MAIL_*` | Mail configuration |

## License

This project is proprietary software.

Features

Key Highlights

Responsive Design

Optimized for all devices and screen sizes.

High Performance

Lightning-fast load times and optimization.

Scalable Architecture

Built for growth and extensibility.

Security First

Modern security best practices.

Technical

Implementation Details

This project was built using modern development practices and industry-standard technologies. The implementation focused on creating a robust, maintainable, and scalable solution that meets current business needs while allowing for future growth.

The architecture emphasizes clean code principles, proper separation of concerns, and comprehensive testing to ensure reliability and performance.

Explore More

Like What You See?

Check out more projects or let's discuss how I can bring your vision to life.