๐ About
An application that enables users to upload videos and, through AI, automatically generate attention-grabbing titles and well-indexed descriptions.
๐ป WEB
For the front-end development of the application, features of ReactJS were leveraged, such as componentization, properties, and common hooks like useEffect, useMemo, and useState. Additionally, Shadcn UI library components were integrated. Video-to-audio conversion was achieved using the FFmpeg library. For styling, Tailwind CSS was employed, offering the benefit of rapid and consistent UI development. Furthermore, the backend API was seamlessly accessed using Axios, enhancing the application's functionality.
Technologies and libs:
Features
- Select a video and display a video preview.
- Video transcription prompt.
- Video-to-audio conversion.
- Status update during video-to-audio conversion and
audio-to-transcription process. - Customize AI response creativity.
- Automatic generation of detailed AI prompts.
- Display AI-generated responses on the screen.
how to run the project:
# Clone this repository.
$ git clone https://github.com/KRochaS/NextLevelWeek13
# Navigate to the project folder in the terminal/cmd.
$ cd web/
# Install the dependencies.
$ npm i ou yarn install
# Run the project
$ npm run dev
# http://localhost:5173/
๐ฉโ๐ป Server
Technologies and libs:
For the back-end development of the application with NodeJS were created the routes using some of Node's built-in features in conjunction with the Fastify framework. For database integration, Prisma and Sqlite was utilized. Additionally, OpenAI and streaming resources were used to generate responses through transcription.
Features
- Creation of a GET route to fetch pre-registered prompts.
- Creation of a POST route for video uploads.
- Creation of a POST route to obtain audio transcription
by sending the prompt as the request body. - Creation of a POST route that returns the AI-generated response.
how to run the project:
# Clone this repository.
$ git clone https://github.com/KRochaS/NextLevelWeek13
# Configure Database in .env file
# DATABASE_URL="file:./dev.db"
# Configure OPENAI KEY in .env file
# OPENAI_KEY="KEY"
# To obtain an OpenAI API key, you need to create an account on the website and
# generate a key by providing your email and phone number for verification.
# Navigate to the project folder in the terminal/cmd.
$ cd server/
# Install the dependencies.
$ npm i ou yarn install
# Run the project
$ npm run dev
# HTTP server running on http://localhost:3333