Resume: Image, Video, Conversation, and Music Generation Tools
Ia projec
-
Tailwind Design and Animations: Utilize Tailwind CSS for styling and animations to create a visually appealing and consistent design.
-
Full Responsiveness:Ensure your application is responsive across different screen sizes using Tailwind's responsive design features.
-
Supabase Authentication: Implement authentication using Supabase, which provides various login methods including email. Utilize Supabase's authentication functions and components.
-
Client Form Validation and Handling with zod and react-hook-form:Employ the zod schema validation library along with react-hook-form for robust form validation. Define validation rules using zod schemas and use the zodResolver to integrate with react-hook-form.
-
Server Error Handling:Implement server error handling using libraries like react-toast to display informative error messages to users.
-
Image, Video, Conversation, and Music Generation Tools: Integrate OpenAI and Replicate AI APIs to generate images, videos, conversations, and music based on user input.
-
Page Loading State:Implement loading indicators or skeleton screens to provide visual feedback during content loading.
-
Routes and API Endpoints:Define your server routes and API endpoints to handle POST, DELETE, and GET requests, using a web framework like Next.js
-
Fetching Data in Server React Components:Implement server-side rendering (SSR) using a framework like Next.js to fetch data directly from the database in server-side React components.
-
Handling Relations between Server and Child Components: Pass data between parent and child components using props or state management libraries, following best practices for API communication.
-
Reusable Layouts and Folder Structure: Organize components, pages, styles, and assets in a structured folder hierarchy. Create reusable layout components to maintain consistency.
git clone https://github.com/samirjabib/ia-project
go inside of project and :
yarn install
yarn dev
To run this project, you will need to add the following environment variables to your .env file
NEXT_PUBLIC_SUPABASE_URL
=
NEXT_PUBLIC_SUPABASE_ANON_KEY
=
SUPABASE_SERVICE_ROLE_KEY
SUPABASE_DB_PASSWORD
=
OPENAI_API_KEY
=
REPLICATE_API_TOKEN
=