Coder Social home page Coder Social logo

jgpeco / ateliedaadri Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 36.92 MB

A catalog site created with React, NextJS and NetllifyCMS.

Home Page: https://ateliadri.store/

JavaScript 97.79% HTML 2.21%
react nextjs ssg nextjs-router netlifycms sass frontmatter-markdown-loader

ateliedaadri's Introduction

Ateliê da Adri

A catalog site created with React, NextJS and NetllifyCMS.

Motivation

The client asked for a simple and unexpensive solution to showcase her work in social medias. The client didn't need an e-commerce site and, since it is a small local business, she asked to reduce the cost to the minimun to maintain the application. My solution was to remove the backend of the app, this way we didn't need to hire a VPS or a cloud service. I wanted to learn how a SSG worked, so I used nextJS to create the static pages of the site. Its dynamic route pagination suited pretty well my need to have a page for each product without standard backend routes and a database. NetlifyCMS will be used by the client to add the products herself, everytime a new product is added, NetlifyCMS creates it in a markdown file in this github project page. Since the data written by the client doesn't have any sensible information, it is ok for it to be public in the md files of my repo. I've also created a responsive and mobile-friendly unique theme with SASS to match the style of her business.

Even if the solution to this problem is clean and works well, it has some small issues. One of them is that, since we don't have backend routes set, NextJS router can only find and create the right page if it is in the same tab. In the moment the user opens a new tab for the product, NextJS router lost the route to the id of the product and returns 404. I couldn't find any usable solution to this problem (other than setting a real backend to the app), if you have any ideia on how to solve this issue, feel free to pr my repo =) I've explained those small issues to the client and she accepted them because, according to her, 95% of the userbase of the application would be mobile and in a mobile interface those issues doesn't happen.

In this project I've learned a lot on how to work with SSG, headless CMS's, the structure and language behind markdown content and configuration of a YML file. I also understood more about how react behave on some unconvetional structures (learning how to get the dynamic page URL to filter a product was fun!) and what is possible to achieve without a backend to hold the ground for the application.

Built With

  • React - The js framework of choice
  • NextJS - React framework used for SSG and integration with the CMS
  • NetlifyCMS - Headless CMS
  • SASS - For the responsive and mobile-friendly layout
  • Front Matter Markdown - Webpack loader that loads md files direct in React components.

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.