{"id":49797187,"url":"https://github.com/devadedeji/snipforge","last_synced_at":"2026-05-12T12:03:24.834Z","repository":{"id":321379553,"uuid":"1085598113","full_name":"DevAdedeji/snipforge","owner":"DevAdedeji","description":"Create, organize and share code snippets","archived":false,"fork":false,"pushed_at":"2025-11-06T18:49:58.000Z","size":634,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-06T20:34:00.420Z","etag":null,"topics":["firebase","vuejs"],"latest_commit_sha":null,"homepage":"https://snipforge.vercel.app","language":"Vue","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/DevAdedeji.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-29T09:04:37.000Z","updated_at":"2025-11-06T18:50:01.000Z","dependencies_parsed_at":"2025-10-29T11:28:25.962Z","dependency_job_id":"39bb8217-5088-425f-8828-1e1b58924c0a","html_url":"https://github.com/DevAdedeji/snipforge","commit_stats":null,"previous_names":["devadedeji/snipforge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DevAdedeji/snipforge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevAdedeji%2Fsnipforge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevAdedeji%2Fsnipforge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevAdedeji%2Fsnipforge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevAdedeji%2Fsnipforge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevAdedeji","download_url":"https://codeload.github.com/DevAdedeji/snipforge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevAdedeji%2Fsnipforge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32938003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["firebase","vuejs"],"created_at":"2026-05-12T12:03:22.701Z","updated_at":"2026-05-12T12:03:24.829Z","avatar_url":"https://github.com/DevAdedeji.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction\n\nSnipforge is a web application designed to facilitate the creation, organization, and sharing of code snippets. It addresses the common challenge of managing and retrieving frequently used code snippets across various projects and environments.\n\nThis project offers several key benefits: enhanced code reusability, improved code organization through categorization and tagging, and simplified collaboration by enabling easy sharing of snippets with others. Snipforge leverages Vue.js for a responsive and intuitive user interface.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Features](#features)\n- [Tech Stack](#tech-stack)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Testing](#testing)\n- [Project Structure](#project-structure)\n- [Deployment](#deployment)\n\n## Features\n*   Authentication with firebase.\n*   Create and manage code snippets.\n*   Explain snippet, Improve snippet and generate test for snippet with Google Gemini\n\n## Tech Stack\n\nThis project utilizes the following technologies:\n\n*   **Frontend:**\n    *   Vue.js (v3.x)\n    *   Vue Router\n\n*   **Build Tool:**\n    *   Vite\n\n## Prerequisites\n\nTo successfully utilize this project, ensure the following prerequisites are met:\n\n**Required:**\n\n*   **Node.js:** Version 18.0.0 or higher. Verify your Node.js version by executing `node -v` in your terminal.\n*   **npm:** Version 8.0.0 or higher. Check your npm version with `npm -v`.\n*   **Git:** Version 2.0.0 or higher. Confirm your Git installation and version using `git --version`.\n*   **A code editor:** such as Visual Studio Code, Sublime Text, or similar.\n\n**Optional:**\n\n*   **A code editor extension for Vue.js:** This enhances development with features like syntax highlighting and autocompletion.\n\n## Installation\n\nTo install and configure Snipforge, follow these steps:\n\n1.  **Clone the Repository:** Clone the Snipforge repository to your local machine using Git.\n\n    ```bash\n    git clone https://github.com/DevAdedeji/snipforge.git\n    ```\n\n2.  **Navigate to the Project Directory:** Change your current directory to the newly cloned `snipforge` directory.\n\n    ```bash\n    cd snipforge\n    ```\n\n3.  **Install Node.js Dependencies:** Install the necessary Node.js packages using npm. Ensure you have Node.js version 16 or higher installed.\n\n    ```bash\n    npm install\n    ```\n\n4.  **Environment Variable Setup:** Create a `.env` file in the project root directory. Define the required environment variables.  At a minimum, you will need to set `VITE_API_URL` to the backend API URL.\n\n    ```\n    VITE_FIREBASE_API_KEY=\"\"\n    VITE_FIREBASE_AUTH_DOMAIN=\"\"\n    VITE_FIREBASE_PROJECT_ID=\"\"\n    VITE_FIREBASE_STORAGE_BUCKET=\"\"\n    VITE_FIREBASE_MESSAGING_SENDER_ID=\"\"\n    VITE_FIREBASE_APP_ID=\"\"\n    VITE_FIREBASE_MEASUREMENT_ID=\"\"\n    VITE_GEMINI_API_KEY=\"\"\n    VITE_APP_URL=http://localhost:3000\n    ```\n\n```markdown\n## Usage\n\nTo run the application, execute the following command in your terminal:\n\n```bash\nnpm run dev\n```\n\nThis command starts the development server, allowing you to view and interact with the application in your browser.\n\n## Configuration\n\nThis section details the configuration options for Snipforge. Configure these settings to tailor the application to your specific needs.\n\n### Configuration Options\n\nThe following table outlines the available configuration options:\n\n| Option Name        | Type      | Default Value | Description\n\n## Testing\n\nThis project utilizes Vitest for unit testing and Playwright for end-to-end (E2E) testing.\n\n## Project Structure\n\n```\n.husky/\n.vscode/\ne2e/\npublic/\nsrc/\n│   ├── assets/\n│   ├── components/\n│   ├── composables/\n│   ├── firebase/\n│   ├── router/\n│   ├── services/\n│   ├── stores/\n│   ├── types/\n│   ├── utils/\n│   └── views/\n.editorconfig\n.gitattributes\n.gitignore\n.prettierrc.json\nREADME.md\nauto-imports.d.ts\ncomponents.d.ts\nenv.d.ts\neslint.config.ts\nindex.html\npackage-lock.json\npackage.json\nplaywright.config.ts\ntsconfig.app.json\ntsconfig.json\ntsconfig.node.json\ntsconfig.vitest.json\nvite.config.ts\nvitest.config.ts\n```\n\n## Deployment\n\nThis section details the deployment process for the `snipforge` application. The primary target platform is Vercel.\n\n### Vercel Deployment\n\n1.  **Prerequisites:** Ensure you have a Vercel account and the Vercel CLI installed. Install the CLI globally using npm:\n\n    ```bash\n    npm install -g vercel\n    ```\n\n2.  **Build the Application:** Navigate to the project's root directory and build the Vue application using the following command:\n\n    ```bash\n    npm run build\n    ```\n\n    This command generates the production-ready assets in the `dist` directory.\n\n3.  **Deploy to Vercel:** Deploy the application using the Vercel CLI.  Authenticate with your Vercel account if prompted.\n\n    ```bash\n    vercel\n    ```\n\n    Follow the prompts to configure the deployment.  Vercel will automatically detect the project type and configure the necessary settings.\n\n4.  **Environment Variables:** Configure environment variables within the Vercel dashboard. Navigate to your project settings on Vercel and access the \"Environment Variables\" section.  Add the following environment variables, replacing the placeholder values with your actual configuration:\n    ```\n    VITE_FIREBASE_API_KEY=\"\"\n    VITE_FIREBASE_AUTH_DOMAIN=\"\"\n    VITE_FIREBASE_PROJECT_ID=\"\"\n    VITE_FIREBASE_STORAGE_BUCKET=\"\"\n    VITE_FIREBASE_MESSAGING_SENDER_ID=\"\"\n    VITE_FIREBASE_APP_ID=\"\"\n    VITE_FIREBASE_MEASUREMENT_ID=\"\"\n    VITE_GEMINI_API_KEY=\"\"\n    VITE_APP_URL=http://localhost:3000\n    ```\n\n    Refer to the Vercel documentation for detailed instructions on environment variable management: [https://vercel.com/docs/concepts/projects/environment-variables](https://vercel.com/docs/concepts/projects/environment-variables).\n\n5.  **Verification:** After deployment, Vercel provides a deployment URL. Access this URL in your browser to verify the application is running correctly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevadedeji%2Fsnipforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevadedeji%2Fsnipforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevadedeji%2Fsnipforge/lists"}