https://github.com/sandromaglione/convertkit-nextjs-newsletter-form
Custom form to add subscriber from email to ConvertKit using NextJs and Effect・Newsletter sandromaglione.com
https://github.com/sandromaglione/convertkit-nextjs-newsletter-form
convertkit convertkit-api effect effect-http nextjs
Last synced: about 2 months ago
JSON representation
Custom form to add subscriber from email to ConvertKit using NextJs and Effect・Newsletter sandromaglione.com
- Host: GitHub
- URL: https://github.com/sandromaglione/convertkit-nextjs-newsletter-form
- Owner: SandroMaglione
- Created: 2023-11-19T06:59:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-24T18:04:23.000Z (over 1 year ago)
- Last Synced: 2025-03-26T17:21:24.500Z (2 months ago)
- Topics: convertkit, convertkit-api, effect, effect-http, nextjs
- Language: TypeScript
- Homepage: https://www.sandromaglione.com/newsletter
- Size: 106 KB
- Stars: 16
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `How to implement a Custom Newsletter form with ConvertKit and Effect`
Learn how to use [Effect](https://effect.website/) to perform a request to subscribe a user to your newsletter on [ConvertKit](https://convertkit.com/):
- Define component to collect user email
- Perform API request to sign up the user to the newsletter
- Implement the code to subscribe the user using Effect***
This project is part of my weekly newsletter at [**sandromaglione.com**](https://www.sandromaglione.com/newsletter?ref=Github&utm_medium=newsletter_project&utm_term=effect).
## Project structure
The core of the project is implemented inside [`lib`](./lib). The files inside `lib` contain the services and configurations defined using **Effect**.[`app`](./app) contains all the pages and API routes (`nextjs`).
**Read all the details in the full article** 👇
### Testing
[`test`](./test) contains some tests of the Effect program. The app uses `vitest` and `msw` for testing.**Read all the details in the full article** 👇