{"id":28512417,"url":"https://github.com/ever-co/ever-rec","last_synced_at":"2025-07-09T21:33:18.232Z","repository":{"id":272657146,"uuid":"839703000","full_name":"ever-co/ever-rec","owner":"ever-co","description":"Ever® Rec™ - Open Screen Capture, Screen Recording, Images \u0026 Video Sharing Platform - https://rec.so","archived":false,"fork":false,"pushed_at":"2025-06-22T16:27:22.000Z","size":18094,"stargazers_count":19,"open_issues_count":9,"forks_count":4,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-07-04T01:36:38.786Z","etag":null,"topics":["annotation","annotation-tool","camera","chrome-extension","loom","productivity","record","screen-capture","screen-recorder","screen-recording","screencast","screenshot","screenshots","video","video-recording"],"latest_commit_sha":null,"homepage":"https://rec.so","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ever-co.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.MD","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-08T06:51:05.000Z","updated_at":"2025-06-22T16:27:23.000Z","dependencies_parsed_at":"2025-06-18T00:35:20.052Z","dependency_job_id":null,"html_url":"https://github.com/ever-co/ever-rec","commit_stats":null,"previous_names":["ever-co/ever-rec"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ever-co/ever-rec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever-co%2Fever-rec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever-co%2Fever-rec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever-co%2Fever-rec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever-co%2Fever-rec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ever-co","download_url":"https://codeload.github.com/ever-co/ever-rec/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ever-co%2Fever-rec/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264503951,"owners_count":23618762,"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":["annotation","annotation-tool","camera","chrome-extension","loom","productivity","record","screen-capture","screen-recorder","screen-recording","screencast","screenshot","screenshots","video","video-recording"],"created_at":"2025-06-09T00:37:56.515Z","updated_at":"2025-07-09T21:33:18.227Z","avatar_url":"https://github.com/ever-co.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ever Rec Platform\n\n[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/ever-co/ever-rec)\n[![Gitter](https://badges.gitter.im/JoinChat.svg)](https://gitter.im/ever-co/ever-rec?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Get help on Codementor](https://cdn.codementor.io/badges/get_help_github.svg)](https://www.codementor.io/evereq?utm_source=github\u0026utm_medium=button\u0026utm_term=evereq\u0026utm_campaign=github)\n\n## 🌟 What is it\n\n[Ever® Rec™](https://rec.so) - Screen Capture, Screen Recording, Images \u0026 Video Sharing Platform.\n\n**NOTE: Platform is currently in active development stage / WIP, please use with caution!**\n\nEver® Rec™ is a powerful, all-in-one platform for effortlessly capturing, annotating, and sharing screen, webcam, and microphone recordings.\nAvailable as a standalone web app, Chrome extension, or desktop application, it adapts to your workflow, wherever you work.\n\nThe desktop version goes even further by converting continuous screenshots into smooth, high-quality videos, making it ideal for creating tutorials, recording gameplay, tracking workflows, and more.\n\nDesigned to run discreetly in the background, Ever® Rec™ lets you stay focused on what matters while it handles recording with speed and simplicity.\n\n## ✨ Platform Features Overview\n\n-   **Web-based Platform** (React/NextJs)\n-   **Chrome Extension**\n-   **Desktop App** (Electron)\n-   **Screen Capture** / **Screen Recording**\n-   **Mic Capture** / **Webcam Capture**\n-   **Images** / **Videos** **Storage**, **Annotations** and **Sharing**\n-   **Secure Video Upload**: Enables users to directly upload the generated videos to an S3 bucket for secure storage and easy sharing.\n\n## ✨ Desktop Application Features\n\n-   **Continuous Screen Capture**: automatically captures high-resolution screenshots at user-defined intervals, ensuring every critical moment is preserved.\n-   **Video Compilation**: converts sequences of screenshots into smooth, high-quality video files with just a few clicks.\n-   **Customizable Settings**:\n   - Configure capture intervals to suit your workflow (e.g., every second, every minute).\n   - Select video resolutions (e.g., 720p, 1080p) and output formats.\n-   **Resource Efficiency**: Optimized for minimal impact on system performance and resource usage, ensuring smooth operation even during intensive tasks.\n-   **Intuitive Interface**: Offers a clean and user-friendly interface for starting, stopping, and configuring screen capture sessions.\n-   **Cross-Platform Compatibility**: Fully compatible with Windows, macOS, and Linux environments.\n\n## 📑 Table of Contents\n\n-   [Prerequisites](#prerequisites)\n-   [Technology Stack](#technology-stack)\n-   [Project Structure](#project-structure)\n-   [Getting Started](#getting-started)\n    -   [Development Environment Setup](#development-environment-setup)\n    -   [Installation Process](#installation-process)\n    -   [Environment Configuration](#environment-configuration)\n        -   [API Environment Setup](#api-environment-setup)\n        -   [Portal Environment Setup](#portal-environment-setup)\n        -   [Extensions Environment Setup](#extensions-environment-setup)\n-   [Development Workflow](#development-workflow)\n-   [Browser Extension Development](#browser-extension-development)\n-   [Firebase Integration](#firebase-integration)\n    -   [Firebase Project Configuration](#firebase-project-configuration)\n    -   [Authentication Setup](#authentication-setup)\n    -   [Database Configuration](#database-configuration)\n    -   [Storage Setup](#storage-setup)\n-   [Google OAuth Configuration](#google-oAuth-configuration)\n-   [Production Build](#production-build)\n\n## 🌼 Screenshots\n\n\u003cdetails\u003e\n\u003csummary\u003eShow / Hide Screenshots\u003c/summary\u003e\n\nTODO\n\n\u003c/details\u003e\n\n## 🔗 Links\n\n- **\u003chttps://rec.so\u003e** - official website\n- **\u003chttps://app.rec.so\u003e** - SaaS Platform (WIP)\n- **\u003chttps://ever.co\u003e** - get more information about our company products.\n\n## 📊 Activity\n\n![Alt](https://repobeats.axiom.co/api/embed/bab1e3591d76a1a346dfda363ccb315dbd1d58fa.svg \"Repobeats analytics image\")\n\n## Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n-   [Node.js](https://nodejs.org) v20 or higher\n-   [PNPM](https://github.com/pnpm/pnpm) (Package Manager)\n\n## Technology Stack\n\n-   **Common:**\n\n    - [TypeScript](https://www.typescriptlang.org)\n\n-   **Backend:**\n\n    -   [NodeJs](https://nodejs.org) / [NestJs](https://github.com/nestjs/nest)\n    -   [Firebase](https://firebase.google.com)\n\n-   **Frontend:**\n\n    -   [Next.js](https://nextjs.org)\n    -   [React](https://reactjs.org)\n    -   [Tailwind](https://tailwindcss.com)\n    -   [SASS](https://sass-lang.com)\n    -   [Ant Design](https://github.com/ant-design/ant-design)\n\n-   **Desktop Application:**\n\n    - Angular\n    - Electron\n     \n-   **Development Tools:**\n\n    -   [Turborepo](https://github.com/vercel/turborepo) (Monorepo Management)\n\n## Project Structure\n\n### Mono-repo\n\nA mono-repo containing three main applications:\n\n```\never-rec/\n├── apps/\n│   ├── api/          # API Server (NestJS)\n│   ├── portal/       # Web UI Portal\n│   ├── desktop/      # Desktop Application\n│   └── extensions/   # Browser Extensions Portal\n```\n\n### Desktop App\n\n#### Usage\n\n1. Start Recording\n\n- Launch the application and press the **Start Capturing** button to begin screen recording.\n- Screenshots will be captured continuously at the configured intervals.\n\n2. Stop Recording\n\n- Press the **Stop Capturing** button to end the recording session.\n- The application will automatically compile the captured screenshots into a video file.\n\n3. Configure Settings\n\n- Access the settings menu to adjust the capture interval (e.g., 1 second, 10 seconds).\n- Select the desired video resolution (e.g., 720p, 1080p).\n- Configure S3 bucket details for direct video upload.\n\n#### Development\n\n*Prerequisites*\n\n- Ensure **Node.js** and **npm** are installed on your system.\n- Confirm that your development environment supports **NX** for build processes.\n\n*Build Commands*\n\n1. Install dependencies:\n\n   ```bash\n   yarn install\n   ```\n\n2. Build the project:\n\n   ```bash\n   yarn run build\n   ```\n\n3. Create a desktop application build:\n\n   ```bash\n   yarn run make\n   ```\n\n*Publishing to a Private NPM Registry*\n\nStep 1: Configure npm\n\n1. Set npm to use your private registry:\n\n   ```bash\n   npm set registry https://your-private-registry.com\n   npm adduser --registry https://your-private-registry.com\n   npm set scope=@your-org\n   ```\n\n2. Provide your credentials (username, password, email).\n\nStep 2: Publish a Package\n\n1. Publish an individual package:\n\n   ```bash\n   nx run lib-name:publish\n   ```\n\n2. Verify the package appears in your private registry.\n\nStep 3: Publish All Packages (Optional)\n\n1. Publish all packages or affected libraries:\n\n   ```bash\n   yarn run publish:all or yarn run publish:affected:libraries\n   ```\n\n2. Verify all packages are listed in your private registry.\n\n## Platform Getting Started\n\n### Development Environment Setup\n\n1. **System Requirements Check**\n\n-   **Node.js**: Version 20.x or higher\n\n```bash\n# Verify Node.js version\nnode --version\n# Should output v20.x.x or higher\n```\n\n-   **PNPM**: Latest stable version\n\n```bash\n# Install PNPM globally\nnpm install -g pnpm\n\n# Verify PNPM installation\npnpm --version\n```\n\n2. **Clone the Repository**\n\n```bash\ngit clone https://github.com/ever-co/ever-rec\ncd ever-rec\n```\n\n3. **Install Dependencies**\n\n```bash\npnpm install\n```\n\n### Environment Configuration\n\n#### API Environment Setup\n\n1. **Configure API Environment**\n\n```bash\n# For development\ncp apps/api/.env.sample apps/api/.env.dev\n\n# For production\ncp apps/api/.env.sample apps/api/.env.prod\n```\n\n2. **Required API Environment Variables**\n\n```env\n# Firebase Configuration\nFIREBASE_API_KEY=your_api_key\nFIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com\nFIREBASE_DATABASE_URL=https://your_project.firebaseio.com\nFIREBASE_PROJECT_ID=your_project_id\nFIREBASE_STORAGE_BUCKET=your_project.appspot.com\nFIREBASE_MESSAGING_SENDER_ID=your_sender_id\nFIREBASE_APP_ID=your_app_id\nFIREBASE_MEASUREMENT_ID=your_measurement_id\n\n# Firebase Admin Configuration\nFIREBASE_ADMIN_PRIVATE_KEY=your_private_key\nFIREBASE_ADMIN_CLIENT_EMAIL=your_client_email\n\n# Extension Configuration\nEXTENSION_ID=your_extension_id\n```\n\n#### Portal Environment Setup\n\n1. **Configure Portal Environment**\n\n```bash\ncp apps/portal/.env.sample apps/portal/.env.local\n```\n\n2. **Required Portal Environment Variables**\n\n```env\n# API Configuration\nNEXT_PUBLIC_API_BASE_URL=http://localhost:3000\nNEXT_PUBLIC_WEBSITE_URL=http://localhost:4200\nNEXT_PUBLIC_STATIC_FILES_URL=your_static_files_url\n\n# Extension Configuration\nEXTENSION_ID=your_extension_id\n```\n\n#### Extensions Environment Setup\n\n1. **Configure Extensions Environment**\n\n```bash\n# For development\ncp apps/extensions/.env.sample apps/extensions/.env.dev\n\n# For production\ncp apps/extensions/.env.sample apps/extensions/.env.prod\n```\n\n2. **Required Extensions Environment Variables**\n\n```env\nEXTENSION_ID=your_extension_id\n\nAPI_BASE_URL=http://localhost:3000\nWEBSITE_URL=http://localhost:4200\nSTATIC_FILES_URL=your_static_files_url\n```\n\n## Development Workflow\n\n1. **Start Development Server**\n\n```bash\npnpm dev\n```\n\n2. **Access Development Environment**\n\n-   API Server: http://localhost:3000\n-   Web Portal: http://localhost:4200\n\n## Browser Extension Development\n\n### Building Extensions\n\n```bash\n# Development build\npnpm dev:extensions\n\n# Production build\npnpm build:extensions\n```\n\n### Installing in Chrome\n\n1. **Access Chrome Extensions**\n\n    - Open Chrome\n    - Navigate to `chrome://extensions`\n    - Enable \"Developer mode\" (toggle in top-right)\n\n2. **Load Extension**\n\n    - Click \"Load unpacked\"\n    - Navigate to the project directory\n    - Select the appropriate build folder:\n        - Development: `apps/extensions/build/dev`\n        - Production: `apps/extensions/build/prod`\n\n3. **Extension Development Notes**\n    - Check the extension's background page console for logs\n    - Use Chrome's developer tools to debug popup and content scripts\n\n[Other browsers](./apps/extensions#run-project)\n\n## Firebase Integration\n\n### Firebase Project Configuration\n\n1. **Create Firebase Project**\n\n    - Visit [Firebase Console](https://console.firebase.google.com/)\n    - Click \"Add project\"\n    - Follow the project creation wizard\n\n2. **Web App Setup**\n    - In Firebase Console, click \"Add app\"\n    - Select web platform (\u003c/\u003e)\n    - Register the app with a nickname\n    - Copy configuration to the appropriate `.env` file\n\n### Authentication Setup\n\n**Enable Authentication Methods**\n\n    - In Firebase Console, go to Authentication \u003e Sign-in method\n    - Enable required providers:\n        - Google\n        - Email/Password\n\n### Database Configuration\n\n1. **Realtime Database Setup**\n    - Create a new Realtime Database\n    - Start in test mode\n    - Update security rules using `database.rules.json`:\n        ```json\n        {\n        \t\"rules\": {\n        \t\t// Add the database rules here\n        \t}\n        }\n        ```\n\n### Storage Setup\n\n1. **Configure Storage**\n    - Enable Firebase Storage\n    - Set up security rules using `storage.rules`\n    - Configure CORS if needed\n\n## Google OAuth Configuration\n\n1. Visit [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)\n2. Select your Firebase project\n3. Create OAuth Client ID credentials\n4. Download credentials and configure for all apps:\n    - `GOOGLE_CLIENT_ID`\n    - `GOOGLE_CLIENT_SECRET`\n5. Configure the OAuth consent screen\n\n## Production Build\n\n```bash\n# Build all packages\npnpm build\n\n# Build specific app\npnpm build:api      # Build API server\npnpm build:portal   # Build web portal\npnpm build:extensions  # Build extensions\n```\n\n## 💌 Contact Us\n\n-   [Ever.co Website Contact Us page](https://ever.co/contacts)\n-   [Slack Community](https://join.slack.com/t/gauzy/shared_invite/enQtNzc5MTA5MDUwODg2LTI0MGEwYTlmNWFlNzQzMzBlOWExNTk0NzAyY2IwYWYwMzZjMTliYjMwNDI3NTJmYmM4MDQ4NDliMDNiNDY1NWU)\n-   [Discord Chat](https://discord.gg/hKQfn4j)\n-   [CodeMentor](https://www.codementor.io/evereq)\n-   For business inquiries: \u003cmailto:rec@ever.co\u003e\n-   Please report security vulnerabilities to \u003cmailto:security@ever.co\u003e\n\n## 🔐 Security\n\n**Ever Rec Platform** follows good security practices, but 100% security cannot be guaranteed in any software!\n**Ever Rec Platform** is provided AS IS without any warranty. Use at your own risk!\nSee more details in the [LICENSES.md](LICENSES.md).\n\nIn a production setup, all client-side to server-side (backend, APIs) communications should be encrypted using HTTPS/WSS/SSL (REST APIs, GraphQL endpoint, Socket.io WebSockets, etc.).\n\nIf you discover any issue regarding security, please disclose the information responsibly by emailing \u003cmailto:security@ever.co\u003e and not by creating a GitHub issue.\n\n## 🛡️ License\n\nThis software is available under the following licenses:\n\n-   [Ever® Rec™ Platform Community Edition](https://github.com/ever-co/ever-rec/blob/master/LICENSES.md#ever-rec-platform-community-edition-license)\n-   [Ever® Rec™ Platform Small Business](https://github.com/ever-co/ever-rec/blob/master/LICENSES.md#ever-rec-platform-small-business-license)\n-   [Ever® Rec™ Platform Enterprise](https://github.com/ever-co/ever-rec/blob/master/LICENSES.md#ever-rec-platform-enterprise-license)\n\n#### The default Ever® Rec™ Platform license, without a valid Ever® Rec™ Platform Enterprise or Ever® Rec™ Platform Small Business License agreement, is the Ever® Rec™ Platform Community Edition License\n\nWe support the open-source community. If you're building awesome non-profit/open-source projects, we're happy to help and will provide (subject to [acceptance criteria](https://github.com/ever-co/ever-rec/wiki/Free-license-and-hosting-for-Non-profit-and-Open-Source-projects)) Ever Rec Enterprise edition license and free hosting option! Feel free to contact us at \u003cmailto:ever@ever.co\u003e to make a request. More details are explained in our [Wiki](https://github.com/ever-co/ever-rec/wiki/Free-license-and-hosting-for-Non-profit-and-Open-Source-projects).\n\n#### Please see [LICENSES](LICENSES.md) for more information on licenses\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fever-co%2Fever-rec.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fever-co%2Fever-rec?ref=badge_large)\n\n## ™️ Trademarks\n\n**Ever**® is a registered trademark of [Ever Co. LTD](https://ever.co).\n**Ever® Rec™**, **Ever® Demand™**, **Ever® Gauzy™**, **Ever® Teams™** and **Ever® OpenSaaS™** are all trademarks of [Ever Co. LTD](https://ever.co).\n\nThe trademarks may only be used with the written permission of Ever Co. LTD. and may not be used to promote or otherwise market competitive products or services.\n\nAll other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.\n\n## 🍺 Contribute\n\n-   Please give us a :star: on Github, it **helps**!\n-   You are more than welcome to submit feature requests in the [separate repo](https://github.com/ever-co/feature-requests/issues)\n-   Pull requests are always welcome! Please base pull requests against the _develop_ branch and follow the [contributing guide](.github/CONTRIBUTING.md).\n\n## 💪 Thanks to our Contributors\n\nSee our contributors list in [CONTRIBUTORS.md](https://github.com/ever-co/ever-rec/blob/develop/.github/CONTRIBUTORS.md).\nYou can also view a full list of our [contributors tracked by Github](https://github.com/ever-co/ever-rec/graphs/contributors).\n\n\u003cimg src=\"https://contributors-img.web.app/image?repo=ever-co/ever-rec\" /\u003e\n\n## ⭐ Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=ever-co/ever-rec\u0026type=Date)](https://star-history.com/#ever-co/ever-rec\u0026Date)\n\n## ❤️ Powered By\n\n\u003cp\u003e\n  \u003ca href=\"https://www.digitalocean.com/?utm_medium=opensource\u0026utm_source=ever-co\"\u003e\n    \u003cimg src=\"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg\" width=\"201px\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n \u003ca href=\"https://vercel.com/?utm_source=ever-co\u0026utm_campaign=oss\"\u003e\n     \u003cimg src=\".github/vercel-logo.svg\" alt=\"Powered by Vercel\" /\u003e\n \u003c/a\u003e\n\u003c/p\u003e\n\n## ©️ Copyright\n\n#### Copyright © 2024-present, Ever Co. LTD. All rights reserved\n\n---\n\nEnjoy effortless recording with Ever® Rec™! 🎥\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fever-co%2Fever-rec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fever-co%2Fever-rec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fever-co%2Fever-rec/lists"}