{"id":24301004,"url":"https://github.com/arctixdev/links","last_synced_at":"2025-03-06T13:24:02.464Z","repository":{"id":271503287,"uuid":"913177704","full_name":"arctixdev/links","owner":"arctixdev","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-19T18:03:59.000Z","size":1113,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T10:43:40.282Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://alfabeta.dk/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arctixdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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}},"created_at":"2025-01-07T07:22:34.000Z","updated_at":"2025-02-19T18:04:02.000Z","dependencies_parsed_at":"2025-01-27T08:31:26.135Z","dependency_job_id":null,"html_url":"https://github.com/arctixdev/links","commit_stats":null,"previous_names":["arctixdev/links"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arctixdev%2Flinks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arctixdev%2Flinks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arctixdev%2Flinks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arctixdev%2Flinks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arctixdev","download_url":"https://codeload.github.com/arctixdev/links/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242215628,"owners_count":20090868,"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-01-16T23:29:58.005Z","updated_at":"2025-03-06T13:24:02.459Z","avatar_url":"https://github.com/arctixdev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AlfaBeta - Link Shortener\n\nWelcome to the Link Shortener project! This application allows you to shorten long URLs, manage your shortened links, and view detailed statistics about their usage.\n\nThe Link Shortener is hosted at [alfabeta.dk](https://alfabeta.dk).\n\n## Table of Contents\n\n- [AlfaBeta - Link Shortener](#alfabeta---link-shortener)\n  - [Table of Contents](#table-of-contents)\n  - [Features](#features)\n  - [Usage](#usage)\n    - [Shortening a URL](#shortening-a-url)\n    - [Managing Links](#managing-links)\n  - [Getting Started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Installation](#installation)\n    - [Running the Application](#running-the-application)\n    - [Viewing Statistics](#viewing-statistics)\n  - [Development](#development)\n    - [Folder Structure](#folder-structure)\n    - [Adding New Features](#adding-new-features)\n  - [Contributing](#contributing)\n  - [License](#license)\n\n## Features\n\n- **URL Shortening**: Convert long URLs into short, easy-to-share links.\n- **Custom Slugs**: Create custom slugs for your shortened URLs.\n- **Expiry Dates**: Set expiry dates for your links.\n- **QR Code Generation**: Generate QR codes for your shortened URLs.\n- **Link Management**: Enable, disable, and delete your links.\n- **Statistics**: View detailed statistics about link usage, including total clicks, desktop vs. mobile clicks, and daily click data.\n\n## Usage\n\n### Shortening a URL\n\n1. **Enter the long URL**: In the \"Shorten URL\" tab, enter the URL you want to shorten.\n2. **Select a domain**: Choose a domain for your short link.\n3. **Custom slug (optional)**: Enter a custom slug for your short link.\n4. **Set expiry date (optional)**: Pick an expiry date for your link.\n5. **Click \"Shorten URL\"**: Your short link will be generated and displayed.\n\n### Managing Links\n\n1. **View your links**: Navigate to the \"History \u0026 Stats\" tab to see all your shortened links.\n2. **Enable/Disable links**: Use the switch to enable or disable a link.\n3. **Copy link**: Click the copy button to copy the short link to your clipboard.\n4. **Delete link**: Click the trash icon to delete a link.\n\n## Getting Started\n\n### Prerequisites\n\nBefore you begin, ensure you have the following installed on your machine:\n\n- [Node.js](https://nodejs.org/) (v14 or higher)\n- [npm](https://www.npmjs.com/) (v6 or higher)\n- [Supabase](https://supabase.io/) account and project\n\n### Installation\n\n1. **Clone the repository**:\n\n   ```bash\n   git clone https://github.com/your-username/link-shortener.git\n   cd link-shortener\n   ```\n\n2. **Install dependencies**:\n\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables**:\n\n   Create a `.env.local` file in the root directory and add your Supabase credentials:\n\n   ```env\n   NEXT_PUBLIC_SUPABASE_URL=your-supabase-url\n   NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key\n   ```\n\n### Running the Application\n\nTo start the development server, run:\n\n```bash\nnpm run dev\n```\n\nOpen your browser and navigate to `http://localhost:3000` to see the application in action.\n\n### Viewing Statistics\n\n1. **Navigate to the \"History \u0026 Stats\" tab**: Here, you can see detailed statistics for each link.\n2. **View click data**: See total clicks, desktop vs. mobile clicks, and daily click data.\n\n## Development\n\n### Folder Structure\n\n```\nlink-shortener/\n├── components/       # Reusable UI components\n├── pages/            # Next.js pages\n├── public/           # Static assets\n├── styles/           # Global styles\n├── utils/            # Utility functions\n├── .env.local        # Environment variables\n├── package.json      # Project dependencies\n└── README.md         # Project documentation\n```\n\n### Adding New Features\n\n1. **Create a new branch**:\n\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n\n2. **Implement your feature**: Add your code and tests.\n3. **Commit your changes**:\n\n   ```bash\n   git commit -m \"Add feature: your feature name\"\n   ```\n\n4. **Push your branch**:\n\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n\n5. **Create a pull request**: Open a pull request on GitHub to merge your changes.\n\n## Contributing\n\nWe welcome contributions! Please read our [Contributing Guidelines](CONTRIBUTING.md) for more information.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farctixdev%2Flinks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farctixdev%2Flinks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farctixdev%2Flinks/lists"}