Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 14 additions & 96 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,114 +56,32 @@
<br> and much more...</p>
</samp>

## 💻 Development
## 🐋Deployment

<strong> 🐳 <ins>Docker</ins> <code>Recommended</code> </strong>

**Quick Start:**

```bash
docker compose -f docker-compose.yml \
-f docker-compose.dev.yml up -d
```

**Ports:**

<samp>

- Frontend: `5173`
- Backend : `8000`
- FastAPI : `3000`

</samp>
<br>

<strong> 🛠️ <ins>Local Development</ins></strong>

<samp>For local development without Docker:</samp>

```bash
# Install dependencies
pnpm install

# Start services
pnpm run dev # Frontend (port 5173)
pnpm dlx tsx app/videorender/videorender.ts # Backend (port 8000)
uv run backend/main.py # FastAPI (port 3000)

# Note: You'll need GEMINI_API_KEY for AI features
```

`Requirements`

<samp>

- Node.js 20+
- Python 3.9+
- PostgreSQL
- pnpm

</samp>
</details>

## 🚀 Production

**Quick Start:**

```bash
docker compose up -d
git clone https://github.com/robinroy03/videoeditor.git
cd videoeditor
docker compose up
```
Comment on lines +59 to 65
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The deployment instructions are incomplete. They are missing crucial information about running in detached mode (-d) and, more importantly, how to set up the required environment variables in a .env file. This makes it very difficult for someone to deploy the application correctly. Please provide guidance on environment configuration.

Suggested change
## 🐋Deployment
<strong> 🐳 <ins>Docker</ins> <code>Recommended</code> </strong>
**Quick Start:**
```bash
docker compose -f docker-compose.yml \
-f docker-compose.dev.yml up -d
```
**Ports:**
<samp>
- Frontend: `5173`
- Backend : `8000`
- FastAPI : `3000`
</samp>
<br>
<strong> 🛠️ <ins>Local Development</ins></strong>
<samp>For local development without Docker:</samp>
```bash
# Install dependencies
pnpm install
# Start services
pnpm run dev # Frontend (port 5173)
pnpm dlx tsx app/videorender/videorender.ts # Backend (port 8000)
uv run backend/main.py # FastAPI (port 3000)
# Note: You'll need GEMINI_API_KEY for AI features
```
`Requirements`
<samp>
- Node.js 20+
- Python 3.9+
- PostgreSQL
- pnpm
</samp>
</details>
## 🚀 Production
**Quick Start:**
```bash
docker compose up -d
git clone https://github.com/robinroy03/videoeditor.git
cd videoeditor
docker compose up
```
## 🐋Deployment
First, create a `.env` file in the project root to configure your environment. Refer to the previous README version for a list of required variables like `DATABASE_URL` and `GOOGLE_CLIENT_ID`.
Then, run the application using Docker Compose:
```bash
git clone https://github.com/robinroy03/videoeditor.git
cd videoeditor
docker compose up -d


**With Custom Domain:**
## 🧑‍💻Development

```bash
PROD_DOMAIN=yourdomain.com docker compose up -d
```

or alternatively edit `docker-compose.yml`

**Ports:**

- HTTP: `80`
- HTTPS: `443`

## ⚙️ Environment Configuration

Create a `.env` file for custom settings:

```env
# Domain Configuration
PROD_DOMAIN=yourdomain.com

# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/videoeditor

# Authentication (Google OAuth)
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret

# AI Features (Optional -> /backend)
GEMINI_API_KEY=your_gemini_api_key

# Supabase (Optional)
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_key
pnpm i
pnpm run dev (frontend)
pnpm dlx tsx app/videorender/videorender.ts (backend)
uv run backend/main.py
flip `isProduction` to `false` in `/app/utils/api.ts`
```
Comment on lines +67 to 75
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The development instructions have several issues:

  1. The instruction to manually edit /app/utils/api.ts is a bad practice. Configuration should be managed through environment variables.
  2. The commands are not copy-paste friendly because of comments like (frontend).
  3. The list of prerequisites (Node.js version, etc.) has been removed, which is essential information for new contributors.

Please consider using a more structured and robust set of instructions.

Suggested change
## 🧑‍💻Development
```bash
PROD_DOMAIN=yourdomain.com docker compose up -d
```
or alternatively edit `docker-compose.yml`
**Ports:**
- HTTP: `80`
- HTTPS: `443`
## ⚙️ Environment Configuration
Create a `.env` file for custom settings:
```env
# Domain Configuration
PROD_DOMAIN=yourdomain.com
# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/videoeditor
# Authentication (Google OAuth)
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
# AI Features (Optional -> /backend)
GEMINI_API_KEY=your_gemini_api_key
# Supabase (Optional)
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_key
pnpm i
pnpm run dev (frontend)
pnpm dlx tsx app/videorender/videorender.ts (backend)
uv run backend/main.py
flip `isProduction` to `false` in `/app/utils/api.ts`
```
## 🧑‍💻Development
Make sure you have the required dependencies installed (e.g., Node.js 20+, Python 3.9+, pnpm).
```bash
# 1. Install dependencies
pnpm i
# 2. Run services in separate terminals
# Frontend
pnpm run dev
# Backend
pnpm dlx tsx app/videorender/videorender.ts
# AI Backend
uv run backend/main.py

Note: Instead of manually editing api.ts, use environment variables to control the application's behavior (e.g., NODE_ENV).


**Environment Variables Explained:**

- `PROD_DOMAIN`: Your production domain (host only, e.g., `yourdomain.com`)
- `DATABASE_URL`: PostgreSQL connection string
- `GOOGLE_CLIENT_ID/SECRET`: Google OAuth credentials for authentication
- `GEMINI_API_KEY`: Required for AI-powered video editing features
- `VITE_SUPABASE_*`: Optional Supabase integration for additional features
## 📃TODO

<br>
We have a lot of work! For starters, we plan to integrate all Remotion APIs. I'll add a proper roadmap soon. Join the [Discord Server](https://discord.com/invite/GSknuxubZK) for updates and support.

## ❤️Contribution

<samp> We would love your contributions! ❤️ Check the [contribution guide](CONTRIBUTING.md). </samp>
We would love your contributions! ❤️ Check the [contribution guide](CONTRIBUTING.md).

## 📜License

<samp> This project is licensed under a dual-license. Refer to [LICENSE](LICENSE.md) for details. The [Remotion license](https://github.com/remotion-dev/remotion/blob/main/LICENSE.md) also applies to the relevant parts of the project. </samp>
This project is licensed under the MIT License. The [Remotion license](https://github.com/remotion-dev/remotion/blob/main/LICENSE.md) also applies to the relevant parts of the project.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

There's a critical license inconsistency. This file states the project is under the MIT License, but LICENSE.md and CONTRIBUTING.md specify a dual AGPL/Commercial license. It's crucial to have consistent licensing information across the repository to avoid legal confusion. Please update this to match the project's actual license.

Loading