{"id":29564383,"url":"https://github.com/drorata/coverflow_ai","last_synced_at":"2025-12-31T14:36:04.652Z","repository":{"id":303843034,"uuid":"1012122205","full_name":"drorata/coverflow_ai","owner":"drorata","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-09T20:11:07.000Z","size":890,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-10T01:59:34.271Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drorata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-01T21:08:08.000Z","updated_at":"2025-07-09T20:11:07.000Z","dependencies_parsed_at":"2025-07-10T01:59:47.883Z","dependency_job_id":"b65d198f-8953-458e-a55a-7b2ba43d3934","html_url":"https://github.com/drorata/coverflow_ai","commit_stats":null,"previous_names":["drorata/coverflow_ai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/drorata/coverflow_ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorata%2Fcoverflow_ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorata%2Fcoverflow_ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorata%2Fcoverflow_ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorata%2Fcoverflow_ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drorata","download_url":"https://codeload.github.com/drorata/coverflow_ai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drorata%2Fcoverflow_ai/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265820261,"owners_count":23833563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-18T19:37:45.426Z","updated_at":"2025-12-31T14:36:04.622Z","avatar_url":"https://github.com/drorata.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CoverFlow AI\n\nCoverFlow AI is a web application that automatically generates personalized cover letters based on your CV and a job description. It leverages Google's Generative AI to create well-written, tailored letters in various tones, lengths, and languages.\n\n## Project Structure\n\n*   **/frontend**: A React single-page application that provides the user interface.\n*   **/backend**: A Python FastAPI server that handles the core logic of cover letter generation and user authentication.\n\n## Local Development\n\nTo run this project locally, you will need to run the frontend and backend services separately.\n\n### Backend Setup\n\n1.  **Navigate to the backend directory:**\n    ```bash\n    cd backend\n    ```\n2.  **Create a Python virtual environment and activate it:**\n    ```bash\n    python3 -m venv .venv\n    source .venv/bin/activate\n    ```\n3.  **Install dependencies:**\n    ```bash\n    pip install -r requirements.txt\n    ```\n4.  **Configure environment variables:**\n    Create a file named `.env` in the `backend` directory and add the following, replacing the placeholder values:\n    ```\n    GOOGLE_API_KEY=your_google_api_key\n    FIREBASE_SERVICE_ACCOUNT_JSON='''{\"type\": \"service_account\", ...}'''\n    CORS_ALLOWED_ORIGINS=http://localhost:3000\n    ```\n5.  **Run the server:**\n    ```bash\n    uvicorn main:app --reload\n    ```\n    The backend will be running at `http://localhost:8000`.\n\n### Frontend Setup\n\n1.  **Navigate to the frontend directory:**\n    ```bash\n    cd frontend\n    ```\n2.  **Install dependencies:**\n    ```bash\n    npm install\n    ```\n3.  **Configure environment variables:**\n    Create a file named `.env` in the `frontend` directory and add the following:\n    ```\n    REACT_APP_BACKEND_URL=http://localhost:8000\n    ```\n4.  **Run the development server:**\n    ```bash\n    npm start\n    ```\n    The frontend will open at `http://localhost:3000`.\n\n---\n\n## Deployment on Render\n\nThis guide outlines the steps to deploy CoverFlow AI to Render using Docker.\n\n### 1. Prerequisites\n\n*   Ensure your project is pushed to a Git repository (GitHub, GitLab, Bitbucket).\n*   You have an account on Render.\n\n### 2. Deploy Backend Service\n\n1.  **Go to Render Dashboard:** Log in to your Render dashboard.\n2.  **New Web Service:** Click \"New\" -\u003e \"Web Service\".\n3.  **Connect Repository:** Select your Git repository.\n4.  **Configuration:**\n    *   **Name:** `coverflow-ai-backend` (or your choice)\n    *   **Region:** Choose a region.\n    *   **Branch:** `main`\n    *   **Root Directory:** `backend`\n    *   **Runtime:** `Docker`\n    *   **Port:** `8000`\n5.  **Environment Variables:**\n    Click \"Add Environment Variable\" for each of the following:\n    *   **`GOOGLE_API_KEY`**: Your actual Google API key.\n    *   **`FIREBASE_SERVICE_ACCOUNT_JSON`**: The full JSON content of your service account key.\n    *   **`CORS_ALLOWED_ORIGINS`**: The public URL of your deployed frontend service (e.g., `https://coverflow-ai-frontend.onrender.com`).\n6.  **Create Web Service:** Click \"Create Web Service\".\n\n### 3. Deploy Frontend Service\n\n1.  **Go to Render Dashboard:** Click \"New\" -\u003e \"Web Service\".\n2.  **Connect Repository:** Select the same Git repository.\n3.  **Configuration:**\n    *   **Name:** `coverflow-ai-frontend` (or your choice)\n    *   **Region:** Choose the same region as your backend.\n    *   **Branch:** `main`\n    *   **Root Directory:** `frontend`\n    *   **Runtime:** `Docker`\n    *   **Port:** `80`\n4.  **Environment Variables:**\n    Click \"Add Environment Variable\":\n    *   **`REACT_APP_BACKEND_URL`**: The public URL of your deployed backend service (e.g., `https://coverflow-ai-backend.onrender.com`).\n5.  **Create Web Service:** Click \"Create Web Service\".\n\nAfter both services are deployed, your application will be live.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrorata%2Fcoverflow_ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrorata%2Fcoverflow_ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrorata%2Fcoverflow_ai/lists"}