{"id":21253619,"url":"https://github.com/roc41d/notify-me","last_synced_at":"2026-05-10T06:36:05.102Z","repository":{"id":243754183,"uuid":"813344360","full_name":"roc41d/notify-me","owner":"roc41d","description":"A Subscription Notification System","archived":false,"fork":false,"pushed_at":"2024-06-10T23:31:25.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T21:13:25.671Z","etag":null,"topics":["api-rest","command","jobscheduler","laravel","mysql","queue","send-email"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/roc41d.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}},"created_at":"2024-06-10T22:49:46.000Z","updated_at":"2024-06-10T23:41:02.000Z","dependencies_parsed_at":"2024-06-11T02:08:58.597Z","dependency_job_id":"1865628b-fe24-4dda-932c-b0482ed84966","html_url":"https://github.com/roc41d/notify-me","commit_stats":null,"previous_names":["roc41d/notify-me"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roc41d%2Fnotify-me","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roc41d%2Fnotify-me/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roc41d%2Fnotify-me/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roc41d%2Fnotify-me/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roc41d","download_url":"https://codeload.github.com/roc41d/notify-me/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243690146,"owners_count":20331728,"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":["api-rest","command","jobscheduler","laravel","mysql","queue","send-email"],"created_at":"2024-11-21T03:52:17.622Z","updated_at":"2026-05-10T06:36:05.061Z","avatar_url":"https://github.com/roc41d.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Subscription Notification System - Notify Me\n\nA Laravel-based application that allows users to subscribe to websites and receive email notifications for new posts.\n\n## Features\n\n- Subscribe to websites using an email address.\n- Create posts for subscribed websites.\n- Send email notifications to subscribers for new posts.\n- Ensure no duplicate notifications are sent.\n- Use queues to handle email sending in the background.\n\n## Requirements\n\n- PHP 7.4 or higher\n- Composer\n- MySQL\n- Mailtrap or other email testing tool (for development)\n\n## Setup Instructions\n\n### Step 1: Clone the Repository\n```\ngit clone git@github.com:roc41d/notify-me.git\ncd notify-me\n```\n\n### Step 2: Install Dependencies\n```\ncomposer install\n```\n\n### Step 3: Configure Environment Variables\n```\ncp .env.example .env\n```\n\nEdit the .env file to set up your database, mail, and queue configurations:\n```\nAPP_NAME=Laravel\nAPP_ENV=local\nAPP_KEY=base64:YOUR_APP_KEY_HERE\nAPP_DEBUG=true\nAPP_URL=http://localhost\n\nLOG_CHANNEL=stack\n\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=your_database\nDB_USERNAME=your_username\nDB_PASSWORD=your_password\n\nBROADCAST_DRIVER=log\nCACHE_DRIVER=file\nQUEUE_CONNECTION=database\nSESSION_DRIVER=file\nSESSION_LIFETIME=120\n\nREDIS_HOST=127.0.0.1\nREDIS_PASSWORD=null\nREDIS_PORT=6379\n\nMAIL_MAILER=smtp\nMAIL_HOST=smtp.mailtrap.io\nMAIL_PORT=2525\nMAIL_USERNAME=your_mailtrap_username\nMAIL_PASSWORD=your_mailtrap_password\nMAIL_ENCRYPTION=null\nMAIL_FROM_ADDRESS=from@example.com\nMAIL_FROM_NAME=\"${APP_NAME}\"\n```\n\n### Step 4: Generate Application Key\n```\nphp artisan key:generate\n```\n\n### Step 5: Run Migrations\n```\nphp artisan migrate\n```\n\n### Step 6: Seed the Database (Optional)\n```\nphp artisan db:seed\n```\n\n### Step 7: Set Up Queue Worker\nStart the queue worker to process the email jobs.\n```\nphp artisan queue:work\n```\n\n### Step 8: Set Schudeler\nStart the scheduler worker to process cron jobs.\n```\nphp artisan schedule:work\n```\n\n### Step 9: Run the Application\n```\nphp artisan serve\n```\n\n### Step 10: Test the Application\n```\nhttp://localhost:8000/api/\n```\n\nYou can now use Postman or any other API client to interact with the endpoints.\n\n#### Create Website\nEndpoint: `POST /websites`\n\nRequest Body:\n\n```\n{\n    \"name\": \"Acme Inc\",\n    \"url\": \"https://acmeinc.xzy\"\n}\n```\n\n#### Get Websites\nEndpoint: `Get /websites?limit=20`\n\n#### Subscribe to a Website:\n\nEndpoint: `POST /subscribe`\n\nRequest Body:\n```\n{\n    \"email\": \"user@example.com\",\n    \"website_id\": 1\n}\n```\n\n#### Create a Post:\n\nEndpoint: `POST /posts`\n\nRequest Body:\n```\n{\n    \"website_id\": 1,\n    \"title\": \"New Post Title\",\n    \"description\": \"Description of the new post.\"\n}\n```\n\n#### Create a Post:\n\nEndpoint: `GET /posts?limit=20`\n\n### Note: For testing purposes, the command checks for new posts and notifies subscribers every five minutes.\n\nThis can be change in `/routes/console.php`\n```\nSchedule::command(SendEmails::class)-\u003eeveryFiveMinutes();\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froc41d%2Fnotify-me","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froc41d%2Fnotify-me","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froc41d%2Fnotify-me/lists"}