Giter Site home page Giter Site logo

helium-client's Introduction

Welcome to this repository, Helium!

Helium is a lightweight copy of the blogging platform, Medium.com.

Why did I re-do Medium.com?

In my work as a UXer, I was curious to learn more about not only how products appear to the end-user, but how they are built. This year, 2022, I have been focused on learning frontend concepts.

As part of my DPC Digital Academy Scholarship with Code Like A Girl's Foundations of Web Dev Program, I took this opportunity to:

  • Build sassy components
  • Improve performance
  • Practise frontend routing
  • Learn global state management and authentication

The tools I used are:

  • React
  • Node
  • Typescript
  • SASS
  • Markdown

But where do I get the content if I don't have a server?

Previously, I toyed with using a headless CMS like Strapi.io to follow JAMstack architecture. I realised it wasn't necessary for a website like so since CMSes are expensive, they save assets on their own servers and, for a simple site like here, CMSes do not provide the best performance.

I decided to use a Markdown file system that I store in Github and call dynamically.

Importing posts on the main page

Using an asynchronous function in JavaScript, I import the Markdown files from the content folder project into a JSON file, posts.json. Later I return them in the form of a promise as an array of JSON objects.

Commands

npm run dev

Concurrently runs the client and server (getposts.ts, to be replaced with a Node backend as the course progresses)

npm start

Serves the client only, assuming that the posts.json file is up to date

Deployment

Master branch is automatically deployed to Netlify.

helium-client's People

Contributors

a-l-e-x-a-n-d-r-a-l-i-u avatar bradfora avatar

Stargazers

Kat Fay avatar

Watchers

 avatar Kat Fay avatar

Forkers

echelonfour

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.