An open API service indexing awesome lists of open source software.

https://github.com/sankalp20tiwari/reelspro

ReelsPro is a dynamic web application that allows users to upload, view, and interact with short video reels shared by other users. The platform is designed to create an engaging experience where creativity thrives, fostering a community-driven environment for content creators and viewers alike.
https://github.com/sankalp20tiwari/reelspro

aceternity-ui imagekit nextjs ui-design

Last synced: about 1 month ago
JSON representation

ReelsPro is a dynamic web application that allows users to upload, view, and interact with short video reels shared by other users. The platform is designed to create an engaging experience where creativity thrives, fostering a community-driven environment for content creators and viewers alike.

Awesome Lists containing this project

README

          

# ReelsPro

## πŸ“Œ Project Overview

🎬 About ReelsPro

ReelsPro is a dynamic web application that allows users to upload, view, and interact with short video reels shared by other users. The platform is designed to create an engaging experience where creativity thrives, fostering a community-driven environment for content creators and viewers alike.

## πŸ–ΌοΈ Preview

![ReelsPro Landing Page](public/landingPage.png)

## πŸš€ Features

- **User-friendly interface** for seamless feedback submission
- **Upload and rendering videos** using Imagekit
- **Authentication system** using NextAuth
- **Mobile-responsive design** ensuring accessibility across devices
- **Optimized performance** with server-side rendering (SSR) and static site generation (SSG)
- **Modern UI** powered by Tailwind CSS and Shadcn, magicui
- **Secure API interactions** for data integrity

## πŸ”— Live Demo

Check out the live version of ReelsPro here: [Live Site](https://reelspro-phi.vercel.app/)

## πŸ›  Installation & Setup

To set up and run the project locally, follow these steps:

### Prerequisites

Ensure you have the following installed:

- **Node.js** (Latest LTS version recommended)
- **npm** or **yarn** for package management
- A **MongoDB database**

### Steps to Run

1. **Clone the repository:**
```sh
git clone https://github.com/Sankalp20Tiwari/reelsPro.git
```
2. **Navigate to the project directory:**
```sh
cd reelsPro
```
3. **Install dependencies:**
```sh
npm install # or yarn install
```
4. **Configure environment variables:**
Create a `.env` file in the root directory and define the necessary environment variables:
```sh
NEXTAUTH_SECRET=
MONGODB_URI=
NEXT_PUBLIC_PUBLIC_KEY=
IMAGEKIT_PRIVATE_KEY=
NEXT_PUBLIC_URL_ENDPOINT=
```
5. **Run the development server:**
```sh
npm run dev # or yarn dev
```
6. Open `http://localhost:3000` in your browser to view the application.

## πŸ”§ Configuration

The application uses environment variables to manage API endpoints and database connections. Update the `.env` file accordingly to ensure smooth functionality.

## πŸ“‚ Project Structure

```
reelsPro/
β”œβ”€β”€app/
β”œβ”€β”€(app)/ # Pages of application
β”œβ”€β”€(auth)/ # Auth related pages
β”œβ”€β”€(api)/ # Auth and other APIs
β”œβ”€β”€components/ # Reusable custom made components
β”œβ”€β”€layout.tsx # Layout page
β”œβ”€β”€page.tsx # Actual Landing Page
β”œβ”€β”€components/ # Reusable UI components from shadcn and magicui
β”œβ”€β”€data/ # Data used at various places
β”œβ”€β”€lib # Utilities
β”œβ”€β”€models # Models
β”œβ”€β”€ public/ # Static assets (images, icons, etc.)
β”œβ”€β”€ next.config.ts # Next.js configuration settings
β”œβ”€β”€ package.json # Project metadata and dependencies
β”œβ”€β”€ .env # Environment variables (excluded from Git)
```

## 🏰 Technologies Used

- **Next.js** - React framework for SSR & SSG
- **TypeScript** - Ensures type safety and scalability
- **Imagekit** - Uploading and management of videos using imagekit
- **MongoDB** - Database solutions for storing feedback
- **Tailwind CSS** - Utility-first CSS framework for rapid styling
- **ESLint & Prettier** - Code linting and formatting for better maintainability
- **JWT Authentication** - Secure user authentication using NextAuth.js
- **React-hook-form** - All forms are managed using React Hook Form
- **Shadcn** - Responsive and clean UI with help of Shadcn

## 🀝 Contributing

We welcome contributions to enhance the project! To contribute:

1. Fork the repository.
2. Create a new branch (`feature/your-feature-name`).
3. Implement your changes and commit.
4. Push to your forked repository and submit a pull request.