- React Router (full stack web framework)
- React (UI library)
- Contentful (headless CMS) with GraphQL (API interaction)
- MiniSearch (search)
- Fly (hosting)
- Tailwind CSS (styles)
- GitHub Actions (CI/CD)
-
Create a new space, content management token, and content delivery (access) token at Contentful.
-
Clone this repo and change to the directory.
- You'll probably want to edit the name, description, etc.
-
Use the
contentful-clipackage to run the following:contentful space import --management-token <your-management-token> --space-id <your-space-id> --content-file contentful-space.json
-
Copy the provided
.env.examplefile to a new.envfile and fill in the values with your information. -
Deploy to Fly:
-
Create a couple webhooks in Contentful (one for dev and one for prod):
- Trigger off
EntryPublishandUnpublishevents POSTrequests to<your-domain>/_/content-change(domain should differ for dev and prod)- Set custom
X-Contentful-Webhook-Tokenheader to a private, generated token of your choosing (this will need to match what's in yourCONTENTFUL_ACCESS_TOKENenvironment variable) - Leave the default content type (
application/vnd.contentful.management.v1+json)
- Trigger off