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.
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:
Fork the repository to your GitHub account.
Clone the forked repository to your local machine:
Create a new branch for your changes:
git checkout -b feature/your-feature-name
Make your changes and ensure they adhere to the project's coding style and guidelines.
Test your changes thoroughly to avoid introducing bugs.
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
.Push your changes to your forked repository:
git push origin feature/your-feature-name
Open a pull request against the
main
branch of the original repository.Provide a clear and concise description of your changes in the pull request, along with any relevant information.
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/)