Revise README for deployment and development clarity#160
Conversation
Summary of ChangesHello @robinroy03, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request aims to enhance the clarity and conciseness of the project's Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request attempts to simplify the README for deployment and development. While the goal of simplification is good, these changes remove a significant amount of critical information, making it very difficult for new users to set up and run the project. Specifically, the entire section on environment variables has been deleted, leaving users with no guidance on how to configure the database, authentication, or AI features. Additionally, the new instructions recommend manual code changes for development, which is an anti-pattern. There is also a new and serious inconsistency in the project's licensing information. I've left detailed comments on these issues.
| ## 🐋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 | ||
| ``` | ||
|
|
||
| **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` | ||
| ``` |
There was a problem hiding this comment.
These new sections for deployment and development are missing the most critical piece of information for setting up the project: environment variables. The previous version had a ⚙️ Environment Configuration section that explained necessary variables like DATABASE_URL, GOOGLE_CLIENT_ID, GEMINI_API_KEY, etc. Without this information, it's impossible for a user to configure and run the application.
Furthermore, the new development instruction flip 'isProduction' to 'false' in /app/utils/api.ts (line 74) is a poor practice. Manually editing source code for different environments is error-prone and should be avoided. This should be controlled by an environment variable like NODE_ENV, which was the standard approach before.
Please restore the detailed documentation for all required environment variables.
| ## 📜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. |
There was a problem hiding this comment.
This line states the project is licensed under the MIT License. However, this contradicts other files in the repository:
LICENSE.mddescribes a dual AGPL/Commercial license.CONTRIBUTING.mdrequires contributors to agree to the AGPL and a commercial license.package.jsonstates"license": "SEE LICENSE IN LICENSE.md".
This inconsistency creates significant legal confusion. The README.md must accurately reflect the project's actual license as defined in the LICENSE.md file. Please correct this to match the dual-license model or update all other files if the license has indeed changed to MIT.
| 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. | |
| 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. |
| ``` | ||
|
|
||
| **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 | ||
| ``` |
There was a problem hiding this comment.
The deployment instructions could be improved for clarity and user experience.
- The commands are in a generic code block. Specifying the language as
bashwould enable syntax highlighting. docker compose upruns in the foreground, blocking the user's terminal. The previous version useddocker compose up -dto run in detached mode, which is generally more convenient.
Also, the previous distinction between a development Docker setup and a production setup has been lost, which might be confusing.
| ``` | |
| **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 | |
| ``` | |
| git clone https://github.com/robinroy03/videoeditor.git | |
| cd videoeditor | |
| 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` | ||
| ``` |
There was a problem hiding this comment.
The local development commands are not very descriptive. The previous version included comments explaining what each command does and which port it uses. This context is very helpful for new developers. Using a bash code block would also improve readability.
| ``` | |
| 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` | |
| ``` | |
| # Install dependencies | |
| pnpm i | |
| # Run services in separate terminals | |
| 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 will need to set isProduction=false in /app/utils/api.ts |
Summary
Changes
Testing
Screenshots / Recordings (if UI)
Related Issues
Closes #
Refs #
Breaking Changes
Deployment Notes