Build a GraphQL API-Powered Portfolio Website

Written by carsoncgibbons | Published 2017/02/14
Tech Story Tags: web-development | api | javascript | graphql | nodejs

TLDRvia the TL;DR App

In this blog I will show you how to pick up an existing codebase example to build your very own beautiful Portfolio Website, powered by the Cosmic JS GraphQL API. The portfolio app includes portfolio management, contact form (powered by MailGun) and a beautiful frontend by HTML5UP.net. Install, deploy and edit every part of this portfolio website from your Cosmic JS Bucket Dashboard.

Why is GraphQL Special? GraphQL gives you the power to be more efficient with your API calls by allowing clients to query only specific values, limiting the amount of data returned. Read more about the Cosmic JS GraphQL API.

I’ll be using Cosmic JS for this example app. Cosmic JS is an API-first CMS that makes managing and building websites and applications faster and more intuitive. By decoupling content from code, Cosmic JS empowers developer flexibility while ensuring content editors can plan and deploy content as it best suits them. We’ll be using Cosmic JS to install our example app, deploy and make content updates moving forward from the cloud-based Content Management Platform.

If you haven’t already, get started by Signing Up for Cosmic JS. Helpful resources are provided below to streamline your development operations.

Portfolio Website App Page

Portfolio Website App Demo

Portfolio Website App Codebase on GitHub

1. Create a New Bucket

Your bucket’s name is the name of your website, project, client or web application that you are building. I named mine “Cosmic JS GraphQL API” to remain concise for our example blog.

2. Install the Cosmic JS Portfolio Website

Once you’ve signed up and named your bucket, you’ll be prompted to start from scratch or “see some apps”. For this blog I simply clicked the right button to “see some apps” so that I could begin the installation process for the Cosmic JS Portfolio Website.

App Installation Options

Cosmic JS gives you the ability to filter between functions languages such as Web, iOS, Android, Blog, Contact Form and more.

Simply click “Install” underneath the Portfolio Website icon to get started, or visit the Cosmic JS Apps Page.

3. Deploy to Web

I clicked “Deploy to Web”. I can then edit Objects while my web application is deploying. You will receive an email confirming the deployment of your web application. If you encounter any issues during deployment, you may be routed to the Cosmic JS Troubleshooting Page.

Confirm Deploy Location and Branch

Deploy Branch Confirmation Modal

I’m drawing from a repo, my branch is clarified and I have a deployed location that matches my slug / bucket name that I made in Step 1.

Deploy, Deploy Away

A little reassurance that you’ll soon be up, alive and well on the web. :)

4. Edit Global Objects

Editing is a dream come true in the Cosmic JS Dashboard. To read more about how Cosmic JS was built with editing content in mind, read Building With the Content Editor in Mind.

App Deployment Confirmation

It’s as easy as signing up, creating a new bucket, installing the web application(s), edit objects and deploy! I get my confirmation email to access my web application and also see my options for bucket upgrades like custom domains, one-click SSL, webhooks and localization.

Cosmic JS is an API-first cloud-based content management platform that makes it easy to manage applications and content. If you have questions about the Cosmic JS API, please reach out to the founders on Twitter or Slack.

Carson Gibbons is the Co-Founder & CMO of Cosmic JS, an API-first Cloud-based Content Management Platform that decouples content from code, allowing devs to build slick apps and websites in any programming language they want.


Written by carsoncgibbons | Director of Sales @ Preciate Formerly Co-Founder @ Cosmic JS Y Combinator W19 Batch
Published by HackerNoon on 2017/02/14