Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
This repository was archived by the owner on Jul 24, 2023. It is now read-only.
/bespokePublic archive

The open source Mailchimp alternative.

License

NotificationsYou must be signed in to change notification settings

bespoke-surf/bespoke

Repository files navigation

⚠️ Bespoke has seized maintenance. This repository has been archived.



Bespoke Logo

Combining best parts of Mailchimp, Kalviyo's automation, Substack's newsletter and Typeform for surveys.


Administration panel

Bespoke's mission is to gather information about the customer and do personalized targetting.

We gather customer data through various means, including API's, behavioral intent, surveys and integrations with platforms for data ingestion. Recommendations are delivered via Automations and Campaigns.

Feature roadmap

  • Automations
  • Newsletter
  • Sign-up Forms
  • Design Emails
  • Lists
  • Segmentation
  • Campaigns
  • Analytics Dashboard
  • Transactional Emails & Webhooks
  • Surveys
  • Behavioral Intent API

Documentation & Links

OpenAPI and Postman

Experience seamless integration with Bespoke's OpenAPI and Postman. Explore our latest OpenAPI specification.

For quick and convenient interaction with our APIs, import theOpenAPI spec into your preferred API tool, such as Postman. This will enable you to immediately begin working with our new APIs.

To further simplify your workflow, we have created a dedicatedPostman Workspace. By visiting our Postman Workspace, you will have access to our latest collection of requests, along with the comprehensive API definitions.

Developing Bespoke

  1. Clone this repository

  2. Initial setup

    ~/bespoke$: yarn setup
  3. Run bothweb andserver using turbo repo in parallel mode:

    ~/bespoke$: yarn dev

    ℹ️ we recommed not running it parallel.

    ~/bespoke/apps/web$: yarn dev
    ~/bespoke/packages/server$: yarn dev

    Do not forget to fill the env variables inweb andserver folder

This starts your app in development mode.

Deploying Bespoke

Bespoke comes with a GitHub Action that handles automatically deploying your app to production environments.

Prior to your first deployment, you'll need to do a few things:

  1. Install, sign up and login toFly

  2. Create two apps on Fly, one for web and one for server:

    fly apps create [your-app-name]-webfly apps create [your-app-name]-server
  3. Add aFLY_API_TOKEN to your GitHub repo. To do this, go to your user settings on Fly and create a newtoken, then add it toyour repo secrets with the nameFLY_API_TOKEN.

  4. Dealing with Bespoke Web

    1. Add the following secrets to your fly app secrets, to do this you can run the following commands:

      fly secretsset FRONTEND_HOST= BACKEND_HOST= FLY_BACKEND_HOST= SENTRY_DSN= POSTHOG_TOKEN= POSTHOG_ORGANISATION= POSTHOG_PROJECT_ID= CLOUDINARY_UPLOAD_IMAGE_URL= CLOUDINARY_PRESET= UNLAYER_PROJECT_ID= OPEN_SOURCE=true --app [your-app-name]-web
    2. AddAWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_S3_BUCKET_REGION,AWS_S3_BUCKET,CLOUDFRONT,SENTRY_AUTH_TOKEN,SENTRY_ORG,SENTRY_PROJECT toyour repo secrets in Gihub. This is used during docker container build.

    3. For the initialfly deploy you can use:

      ~/bespoke$: yarn deploy:web
  5. Dealing with Bespoke Server

    1. Add to your fly app secrets, to do this you can run the following commands:

      fly secretsset HOST= FRONTEND_HOST= FRONTEND_HOST_PROTOCOL= SESSION_SECRET=$(openssl rand -hex 32) AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= SES_REGION= SES_SENDING_RATE= REDIS_PORT= REDIS_HOST= REDIS_PASSWORD= UNLAYER_SECRET= OPEN_SOURCE=true EMAIL_DOMAIN= SUPPORT_EMAIL= SENTRY_DSN= POSTHOG_KEY= --app [your-app-name]-server
    2. Create a FlyPostgres Cluster

    3. Attach Postgres Cluster to Bespoke Server

    4. We recommendnot using Redis by Upstash in Fly.

    5. Before deploying please read AWS SES & SNS setup

    6. For the initialfly deploy you can use:

      ~/bespoke$: yarn deploy:server

Setting up Email Provider

To receive Hard bounce, Open, Delivery events etc, let's setup AWS SES with AWS SNS

AWS SNS Setup

We need to create a new subscription and confirm the https endpoint.

  1. Create a new Subscription

  2. Add Topic name and selectHTTPS protocol

  3. Add your endpoint i.e[server-hostname]/user/sns-webhook

  4. console.log() the data in yoursns-webhook under user controller

  5. Before deploying add and confirm a localhost endpoint

  6. Deploy the server and confirm your production endpoint

AWS SES Setup

We need to create a new configuration set and add the SNS subscription as the destination for events.

  1. Create a new configuration set with default values

  2. Add a new Event Destination

  3. Select all event types exceptRedering failures & also select open and click tracking

  4. Under destination option, selectAmazon SNS and select the SNS topic you created

SES Sending Rate

For theSES_SENDING_RATE env variable, you can get the value from the SES dashboard.

OPEN_SOURCE=true

To get unlimited contacts and to send emails with no restriction and to create unlimited signup-forms, please setOPEN_SOURCE=true

Unlayer Project Id & Unlayer Secret

Let's setupUnlayer for Signup-Forms and Email templates to work

  1. Login or Signup toUnlayer embed

  2. Create a project and get the project id from the url

  3. Use project id forUNLAYER_PROJECT_ID env variabe for bespoke web

  4. Go to theSecurity tab and enforce identity verification.

  5. Copy secret and add toUNLAYER_SECRET env varaible for bespoke server

Now that everything is set up you can commit and push your changes to your repo. Every commit to your main branch will trigger a deployment to your production environment.

Contributing

  1. Create a new branch
    • git checkout -b my-new-branch
  2. Commit your changes
    • git commit -a -m 'Description of the changes'
      • There are many ways of doing this and this is just a suggestion
  3. Push your branch to GitHub
    • git push origin my-new-branch
  4. Go to the repository page in GitHub and click on "Compare & pull request"

Bespoke engineers are checking this regularly.

License

Bespoke isAGPL-3.0 license


[8]ページ先頭

©2009-2025 Movatter.jp