summryai / README.md
Ramakrushna's picture
updated
efdc76b verified

Summry AI

Summry AI is a powerful tool that transforms your video or audio content into a blog post in seconds, powered by cutting-edge AI technology. It’s designed to streamline your content creation process and generate high-quality blog posts effortlessly.

thumbnails

Features

  • πŸš€ AI-Powered Conversion: Convert audio or video into a blog post within seconds using AI.
  • πŸ” Authentication: Secure user authentication via Clerk
  • πŸ“ Blog Post Generation: Automatically generate blog posts based on audio or video transcriptions.
  • πŸ’³ Payment Integration: Fully integrated with Stripe for handling payments, custom pricing, and subscription management.
  • πŸ’Ύ Database Management: Efficient data management with NeonDb.
  • πŸ“€ File Uploads: Seamless file uploads using UploadThing.
  • πŸŽ™οΈ Audio and video file processing (up to 25MB)
  • πŸ–‹οΈ Markdown Editor: Edit your blog posts with a built-in Markdown editor.
  • πŸ’… TailwindCSS for styling
  • πŸ”’ Secure file handling and processing
  • πŸͺ Webhook implementation for Stripe events
  • πŸ” SEO-friendly blog post generation

Built with

Tools

Feature Requests

To request a feature open a GitHub issue.

Contribution Guidelines

Thank you for considering contributing to our AI-powered blog generator project! Please follow these guidelines to ensure smooth collaboration:

  1. Fork the repository to your GitHub account.

  2. Clone the forked repository to your local machine:

  3. Create a new branch for your changes:

    git checkout -b feature/your-feature-name
    
  4. Make your changes and ensure they adhere to the project's coding style and guidelines.

  5. Test your changes thoroughly to avoid introducing bugs.

  6. Commit your changes with clear and descriptive commit messages:

    git commit -m 'feat: Add your descriptive commit message'
    

    Note: Before committing changes, ensure you include one of these tags in your commit message: feat, fix, wip, patch, build.

  7. Push your changes to your forked repository:

    git push origin feature/your-feature-name
    
  8. Open a pull request against the main branch of the original repository.

  9. Provide a clear and concise description of your changes in the pull request, along with any relevant information.

  10. Ensure your pull request passes all checks and tests before requesting a review.

Setting Up Environment Variables

To run the project locally, you need to set up the following environment variables:

# CLERK
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/dashboard
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/dashboard

# STRIPE
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_PRICE_ID_BASIC_PLAN=
STRIPE_PRICE_ID_PRO_PLAN=

# NEONDB
DATABASE_URL=

# UPLOADTHING
UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=

# OPENAI
OPENAI_API_KEY=

PRODUCTION_ORIGIN_URL=
NEXT_PUBLIC_APP_NAME=Summry

You can set these environment variables by creating a .env.local or .env file in the root directory of the project and adding the variables with their respective values:

Understand Flow

Project Directory Structure

SummryAI/
β”œβ”€β”€ root/
β”‚   β”‚ 
β”‚   β”œβ”€β”€ action/
β”‚   β”‚   β”‚ 
β”‚   β”‚   β”œβ”€β”€ edit-action.ts
β”‚   β”‚   └── upload-action.ts
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”‚ 
β”‚   β”‚   β”œβ”€β”€ (main)
β”‚   β”‚   β”‚    β”œβ”€β”€ dashboard
β”‚   β”‚   β”‚    β”œβ”€β”€ posts
β”‚   β”‚   β”‚    β”œβ”€β”€ sign-in
β”‚   β”‚   β”‚    β”œβ”€β”€ sign-up
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ (marketing)
β”‚   β”‚   β”œβ”€β”€ api
β”‚   β”‚   └── styles
β”‚   β”‚
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ blog
β”‚   β”‚   β”œβ”€β”€ content
β”‚   β”‚   β”œβ”€β”€ global
β”‚   β”‚   β”œβ”€β”€ home
β”‚   β”‚   β”œβ”€β”€ ui
β”‚   β”‚   β”œβ”€β”€ upload
β”‚   β”‚   β”œβ”€β”€ pricingcard.tsx
β”‚   β”‚ 
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”‚ 
β”‚   β”‚   β”œβ”€β”€ db.ts
β”‚   β”‚   β”œβ”€β”€ payment-helpers.ts
β”‚   β”‚   └── user-helpers.ts
β”‚   β”‚ 
β”‚   β”œβ”€β”€ public/
β”‚   β”‚ 
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ blog
β”‚   β”‚   β”œβ”€β”€ content
β”‚   β”‚
β”œβ”€β”€ .env
β”œβ”€β”€ .gitignore
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
└── README.md

πŸ“œ License

This project is licensed under the License.

Permission is hereby needed, not free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software needs permission, including with limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Built with ❀️ Ramakrushna (https://ramakm.netlify.app/)