{"id":18777751,"url":"https://github.com/arn4v/dakiya","last_synced_at":"2025-04-13T10:32:41.081Z","repository":{"id":59087119,"uuid":"532279929","full_name":"arn4v/dakiya","owner":"arn4v","description":"Simple email automation library for Node.js","archived":false,"fork":false,"pushed_at":"2022-09-06T11:19:11.000Z","size":1024,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-03T11:50:39.970Z","etag":null,"topics":["email-scheduling","marketing-automation"],"latest_commit_sha":null,"homepage":"https://npmjs.com/package/dakiya","language":"TypeScript","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/arn4v.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}},"created_at":"2022-09-03T14:14:34.000Z","updated_at":"2023-06-14T00:17:06.000Z","dependencies_parsed_at":"2022-09-12T09:01:30.619Z","dependency_job_id":null,"html_url":"https://github.com/arn4v/dakiya","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arn4v%2Fdakiya","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arn4v%2Fdakiya/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arn4v%2Fdakiya/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arn4v%2Fdakiya/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arn4v","download_url":"https://codeload.github.com/arn4v/dakiya/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223582213,"owners_count":17168657,"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":["email-scheduling","marketing-automation"],"created_at":"2024-11-07T20:13:42.558Z","updated_at":"2024-11-07T20:13:43.066Z","avatar_url":"https://github.com/arn4v.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dakiya\n\n![CI](https://github.com/arn4v/dakiya/actions/workflows/ci.yml/badge.svg)\n\n_Simple_ email automation for Node.js _made easy_.\n\n## Features\n\n- **Zero config management**: Use simple, chainable code to create email sequences.\n- **Email platform agnostic**: Only SMTP credentials required.\n\n## Roadmap\n\n\n1. [ ] Compliance Features (Unsubscribing)\n2. [ ] Custom conditionals support\n3. [ ] Tracking Opens\n4. [ ] Self-hostable web interface\n\n## Example Ussage\n\n```typescript\nimport { Sequence, Scheduler } from \"dakiya\";\nimport { z } from \"zod\";\n\nconst welcomeVariablesSchema = z.object({\n  name: z.string(),\n  verificationUrl: z.string(),\n});\n\nenum EmailSequence {\n  Onboarding = \"onboarding\",\n}\n\nexport const onboarding = new Sequence(\n  EmailSequence.Onboarding,\n  welcomeVariablesSchema\n)\n  .waitFor(\"5m\")\n  .sendMail({\n    subject: \"Welcome to {Product Name}!\",\n    html({ name }) {\n      return `Hi ${name}, Welcome to {Product Name}`; // Email HTML\n    },\n  })\n  .sendMail({\n    subject: \"Verify Your Email\",\n    html({ verificationUrl }) {\n      return \"\";\n    },\n  })\n  .waitFor(\"1d\")\n  .sendMail({\n    subject: \"Access {Product Name} On The Go!\",\n    html({ name }) {\n      const downloadUrl = \"\";\n      return `Hi ${name}, Access {Product Name} on the go using our mobile app. Download for iOS: ${downloadUrl}`\n    }\n  });\n\nexport const scheduler = new Scheduler([onboarding], {\n  mongoUri: \"\", // mongodb connections string\n  transportOpts: {}, // nodemailer transport options\n  waitMode: \"stack\"\n});\n\nawait scheduler.initialize();\nawait scheduler.schedule(\n  EmailSequence.Onboarding,\n  { name: \"\", verificationUrl: \"\" },\n  // Nodemailer SendMailOptions\n  {\n    to: \"\",\n    from: \"\",\n  }\n);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farn4v%2Fdakiya","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farn4v%2Fdakiya","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farn4v%2Fdakiya/lists"}