This project is a modern, full-stack SaaS (Software as a Service) application that allows users to upload PDF documents and generate automatic, structured summaries using artificial intelligence.
Built with Laravel and React (Inertia.js), integrated with Stripe for payments, featuring a sleek and responsive user interface.
- 📄 Intelligent PDF Summarization:
- Upload and process documents seamlessly.
- Various summary types: General, Bullet Points, Highlights, Detailed Analysis.
- 💳 Subscription System (Stripe):
- Manage tiered plans (e.g., Basic, Standard, Premium).
- Automated handling of monthly subscriptions, plan upgrades/downgrades, and cancellations.
- Secure payments via Stripe API.
- 📊 Interactive Dashboard:
- For Users: Personal statistics, upload limit tracking, subscription status.
- For Administrators: System-wide overview (total users, active subscriptions, processed PDFs).
- 🔐 Secure Authentication:
- Registration, login, password reset.
- Two-Factor Authentication (2FA) support.
- Role-based access control (Admin vs. User).
- 🎨 Modern UI/UX:
- Clean, responsive interface using Tailwind CSS and Shadcn UI components.
- Fast, app-like experience (SPA) powered by Inertia.js.
- Backend: Laravel 12 (PHP)
- Frontend: React 19 + TypeScript
- Full-stack Glue: Inertia.js
- Styling: Tailwind CSS + Shadcn UI
- Database: MySQL
- Payments: Stripe SDK
- Icons: Lucide React
Follow these steps to run the project locally:
- PHP 8.2+
- Composer
- Node.js & NPM
- MySQL Server
-
Clone the repository:
git clone https://github.com/yourusername/saas-ai-pdf-sum.git cd saas-ai-pdf-sum -
Install PHP dependencies:
composer install
-
Install JavaScript dependencies:
npm install
-
Environment Configuration: Copy the
.env.examplefile to.envand configure your database and Stripe credentials.cp .env.example .env
Open
.envand update:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=saas_application DB_USERNAME=root DB_PASSWORD= STRIPE_KEY=pk_test_... STRIPE_SECRET=sk_test_...
-
Generate Application Key:
php artisan key:generate
-
Run Migrations & Seed Database:
php artisan migrate --seed
-
Start Servers: You will need two terminal windows:
Terminal 1 (Laravel Server):
php artisan serve
Terminal 2 (Vite Development Server):
npm run dev
The application is now accessible at http://localhost:8000.
This project is open-sourced software licensed under the MIT license.