Near the beginning of summer 2020, I proposed the creation of this website in hopes of improving the attendance of a local church's English classes and events. It quickly expanded into a full-stack endeavour. With a desire to uncap extensibility and scalability, I chose to learn and utilize the most modern frameworks. This project fully optimizes for a performant, mobile-first end-user experience by upholding best practices, the highest code quality, and excellent Lighthouse audit scores.
Framework | Features |
---|---|
React | Interactive and extensible UIs with encapsulated components |
Gatsby | Incredible performance and SSG on top of React |
gatsby-image | Optimized image compression and lazyloading |
SASS | Powerful CSS preprocessing to reduce coupling |
CSS Modules | Scoped styles and separation of concerns |
GraphQL | Specific queries and transformations of content |
Framer Motion | Intuitive and engaging animations! |
Figma | UI design and prototyping |
I opted not to use a CSS framework like Bootstrap or Tailwind CSS to have everything tailor-made. All code was carefully written to always hold purpose.
Currently, all content and assets are sourced from YAML and image files that are committed to this repository. I am working on a GraphQL integration with a Node.js headless CMS backend to allow other teams to edit the content with ease.
-
Install Node.js and NPM.
-
Clone this repo and
cd
into this root folder. -
Run
npm install
to install all dependencies including Gatsby. -
Start the development server with
gatsby develop
, or create a production build withgatsby build
. -
Access the development server at localhost:8000, or serve the production build with
gatsby serve
at localhost:9000. -
Any changes that you make to components and content will be hot-reloaded in the browser under the development server.