Rockets API

What started as an learning experiment with designing and building an API is now a Rockets CMS.

Changelog

After learning GraphQL I decided I needed to take my data and rebuild my Rockets API somewhere else. With the rise of the headless CMS and the number of them that offered free accounts, i decided to try some out to see if they would be good places for my API. So I tried Prismic, Storyblok, and Contentful. With every single one of them I hit a blocker, something that just made it unusable for me. Generally speaking I’d say that choosing any of them meant being locked into someone else’s data structure.

So I ended up going with AWS Amplify. GraphQL and DynamoDB simply lets you build your schema 100% the way you want. The downside is that Amplify Studio is not really suitable as a content manager, and the ui-react library is a good start but is just not complete enough to use. So I just built the edit pages right into the app.

/rockets is the sortable master list built with Embla Carousel. While you can view the individual cards in modals launched on this page, the same content will exist at their own url.

/rockets/atlas-v is an example of the single rocket. As of this writing i’m still working on this page template.

/rockets/edit is the table list for edit links. Once the devs are finished updating mantine-react-table, i will be using it to create a table with lots of inline editable fields.

/rockets/edit/atlas-v is an example of the full edit form for a rocket. Don’t worry about editing anything, you have to be logged in.

May 10, 2019
My latest learning project involved setting up my own API. I decided on an Ubuntu, Symfony(PHP), Postgres and NGINX stack and set it up on AWS Lightsail. To test it out I am building a rockets database not only because I figured it’d be easy enough to collect a consistent amount of data but also because rockets are cool.

The API will be public sometime in the future, but for now, you can check out the page I built in React that accesses this API at /xplr/rockets.


Tachyon
NextJS, React, AWS AppSync, S3