GithubHelp home page GithubHelp logo

rcrdk / github-blog Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 580 KB

A simple GitHub Blog for practice of fetching API data on a React app.

Home Page: https://ignite-challenge-github-blog.vercel.app

HTML 1.69% TypeScript 98.31%

github-blog's Introduction

๐Ÿ“ GitHub Blog

I developed this project as a challenge of my latest studies on React lessons at Rocketseat.


GitHub Blog Project Preview

๐Ÿš€ Techs and Tools

๐Ÿ’ป Project

This project was developed based on a Figma design provied by the school. The main practice was fetching data from GitHub API using Axios and improve app performance with useCallback, useMemo and memo. Also, I used Context API to access functions and variables across components and implemented use-context-selector package for better performance. I took some liberties and challenge myself to implement a loading and empty states on components, a pagination at home page and setup React Markdown to convert markdown to HTML.

It includes: A home page containing user card and posts list with pagination and filter by query string; A post page with post contents; A fallback page for general errors such as 404.

๐Ÿ”— Links

โš™๏ธ Enviroment Variables

VITE_API_URL="https://api.github.com"
VITE_API_VERSION="2022-11-28"
VITE_API_ENABLE_DELAY=true

VITE_GITHUB_USER=<USERNAME>
VITE_GITHUB_REPO=<REPO>

github-blog's People

Contributors

rcrdk avatar

Watchers

 avatar

github-blog's Issues

Lorem ipsum dolor sit amet, consectetur adipiscing elit

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla justo elit, sollicitudin ac enim vitae, viverra cursus lorem. Sed nec nisl vitae ex egestas commodo. Vivamus imperdiet eros in leo mollis, quis laoreet est dapibus. Quisque vitae rhoncus orci. Donec lectus ipsum, vehicula id fermentum vitae, maximus sit amet dui. Nunc sodales magna sed elit posuere, quis laoreet ante auctor. Etiam mi augue, efficitur sed tincidunt nec, tempus eleifend lorem.

Sed semper purus dui

Nam nec diam mollis, lacinia est vitae, tincidunt justo. Sed lorem leo, vestibulum sit amet metus vitae, ornare rhoncus sapien. Ut vulputate eros quis dui pharetra blandit. Etiam a eros leo.

Vivamus sit amet justo ut ipsum rutrum sollicitudin. Duis blandit enim non diam dignissim sagittis. Mauris suscipit, turpis in ullamcorper faucibus, libero metus pretium quam, non maximus risus massa et libero. Mauris at suscipit lectus. Quisque sagittis pharetra porta. Sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.


Sed semper purus dui, in faucibus ante pulvinar id. Morbi semper nisi in mattis finibus. Cras a purus erat. Mauris in lectus at leo maximus luctus. Sed condimentum est fermentum magna feugiat auctor. Cras pharetra augue sed magna iaculis lacinia. Vivamus sit amet consectetur nulla, eu pharetra turpis. Fusce ut metus tempus, mattis diam a, mattis enim. Etiam gravida ligula nisl, vitae dapibus urna efficitur in. Donec in eros et lorem feugiat rutrum eu quis enim.

Donec in eros et lorem

  1. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  2. Donec ac metus condimentum ex lobortis egestas.
  3. Aenean egestas erat sit amet lacus tempor euismod.
  4. Vestibulum sagittis mi in nulla porta bibendum.
  5. Mauris nec nunc non nisi bibendum viverra at imperdiet ante.
  6. Nam eu nisl et sem lobortis elementum.

Etiam gravida ligula nisl

  • Pellentesque ut justo vel tortor gravida luctus.
  • Nunc id nisi ut nibh tristique bibendum.
  • Fusce volutpat est eget nisl hendrerit placerat.
  • Duis nec nunc sed enim dictum placerat.
  • Sed euismod magna ullamcorper accumsan pretium.
  • Proin convallis dolor et arcu hendrerit scelerisque.

Sed porttitor velit vestibulum

Vivamus sit amet justo ut ipsum rutrum sollicitudin. Duis blandit enim non diam dignissim sagittis. Mauris suscipit, turpis in ullamcorper faucibus, libero metus pretium quam, non maximus risus massa et libero. Mauris at suscipit lectus. Quisque sagittis pharetra porta. Sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.

garrett-sears-rXVFCA3fQ4I-unsplash

Sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla justo elit, sollicitudin ac enim vitae, viverra cursus lorem. Sed nec nisl vitae ex egestas commodo:

  • Praesent vel leo nec massa gravida bibendum ac vel augue.
  • Suspendisse et ligula tempor, vestibulum justo sit amet, faucibus leo.
  • Pellentesque sagittis orci aliquet ex ullamcorper, ut ornare nibh aliquam.

Vivamus sit amet justo ut

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla justo elit, sollicitudin ac enim vitae, viverra cursus lorem. Sed nec nisl vitae ex egestas commodo. Vivamus imperdiet eros in leo mollis, quis laoreet est dapibus. Quisque vitae rhoncus orci. Donec lectus ipsum, vehicula id fermentum vitae, maximus sit amet dui. Nunc sodales magna sed elit posuere, quis laoreet ante auctor. Etiam mi augue, efficitur sed tincidunt nec, tempus eleifend lorem. Nam nec diam mollis, lacinia est vitae, tincidunt justo.

Sed lorem leo, vestibulum sit amet metus vitae, ornare rhoncus sapien. Ut vulputate eros quis dui pharetra blandit. Etiam a eros leo.

Phasellus ac sollicitudin lectus

<div>
  {formatDistanceToNowStrict(post.created_at, {
    locale: ptBR,
    addSuffix: true,
  })}
</div>
Donec in eros et lorem

Sed semper purus dui, in faucibus ante pulvinar id. Morbi semper nisi in mattis finibus. Cras a purus erat. Mauris in lectus at leo maximus luctus. Sed condimentum est fermentum magna feugiat auctor. Cras pharetra augue sed magna iaculis lacinia. Vivamus sit amet consectetur nulla, eu pharetra turpis. Fusce ut metus tempus, mattis diam a, mattis enim. Etiam gravida ligula nisl, vitae dapibus urna efficitur in. Donec in eros et lorem feugiat rutrum eu quis enim.


Vivamus sit amet justo ut ipsum rutrum sollicitudin. Duis blandit enim non diam dignissim sagittis. Mauris suscipit, turpis in ullamcorper faucibus, libero metus pretium quam, non maximus risus massa et libero. Mauris at suscipit lectus. Quisque sagittis pharetra porta. <span> sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.

Suspendisse ut purus nec

Vivamus sit amet justo ut ipsum rutrum sollicitudin. Duis blandit enim non diam dignissim sagittis. Mauris suscipit, turpis in ullamcorper faucibus, libero metus pretium quam, non maximus risus massa et libero. Mauris at suscipit lectus. Quisque sagittis pharetra porta. Sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.

claudia-chiavazza-N9vsB6OEeKM-unsplash

Sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla justo elit, sollicitudin ac enim vitae, viverra cursus lorem. Sed nec nisl vitae ex egestas commodo:

  • Praesent vel leo nec massa gravida bibendum ac vel augue.
  • Suspendisse et ligula tempor, vestibulum justo sit amet, faucibus leo.
  • Pellentesque sagittis orci aliquet ex ullamcorper, ut ornare nibh aliquam.

In nulla dui, ultrices ac porta

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla justo elit, sollicitudin ac enim vitae, viverra cursus lorem. Sed nec nisl vitae ex egestas commodo. Vivamus imperdiet eros in leo mollis, quis laoreet est dapibus. Quisque vitae rhoncus orci. Donec lectus ipsum, vehicula id fermentum vitae, maximus sit amet dui. Nunc sodales magna sed elit posuere, quis laoreet ante auctor. Etiam mi augue, efficitur sed tincidunt nec, tempus eleifend lorem.

Sed semper purus dui

Nam nec diam mollis, lacinia est vitae, tincidunt justo. Sed lorem leo, vestibulum sit amet metus vitae, ornare rhoncus sapien. Ut vulputate eros quis dui pharetra blandit. Etiam a eros leo.

Vivamus sit amet justo ut ipsum rutrum sollicitudin. Duis blandit enim non diam dignissim sagittis. Mauris suscipit, turpis in ullamcorper faucibus, libero metus pretium quam, non maximus risus massa et libero. Mauris at suscipit lectus. Quisque sagittis pharetra porta. Sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.


Sed semper purus dui, in faucibus ante pulvinar id. Morbi semper nisi in mattis finibus. Cras a purus erat. Mauris in lectus at leo maximus luctus. Sed condimentum est fermentum magna feugiat auctor. Cras pharetra augue sed magna iaculis lacinia. Vivamus sit amet consectetur nulla, eu pharetra turpis. Fusce ut metus tempus, mattis diam a, mattis enim. Etiam gravida ligula nisl, vitae dapibus urna efficitur in. Donec in eros et lorem feugiat rutrum eu quis enim.

Donec in eros et lorem

  1. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  2. Donec ac metus condimentum ex lobortis egestas.
  3. Aenean egestas erat sit amet lacus tempor euismod.
  4. Vestibulum sagittis mi in nulla porta bibendum.
  5. Mauris nec nunc non nisi bibendum viverra at imperdiet ante.
  6. Nam eu nisl et sem lobortis elementum.

Etiam gravida ligula nisl

  • Pellentesque ut justo vel tortor gravida luctus.
  • Nunc id nisi ut nibh tristique bibendum.
  • Fusce volutpat est eget nisl hendrerit placerat.
  • Duis nec nunc sed enim dictum placerat.
  • Sed euismod magna ullamcorper accumsan pretium.
  • Proin convallis dolor et arcu hendrerit scelerisque.

Sed lorem leo, vestibulum sit ame

Vivamus sit amet justo ut ipsum rutrum sollicitudin. Duis blandit enim non diam dignissim sagittis. Mauris suscipit, turpis in ullamcorper faucibus, libero metus pretium quam, non maximus risus massa et libero. Mauris at suscipit lectus. Quisque sagittis pharetra porta. Sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.

pietro-de-grandi-T7K4aEPoGGk-unsplash (1)

Sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla justo elit, sollicitudin ac enim vitae, viverra cursus lorem. Sed nec nisl vitae ex egestas commodo:

  • Praesent vel leo nec massa gravida bibendum ac vel augue.
  • Suspendisse et ligula tempor, vestibulum justo sit amet, faucibus leo.
  • Pellentesque sagittis orci aliquet ex ullamcorper, ut ornare nibh aliquam.

Quisque sodales nisi cursus varius tempor

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla justo elit, sollicitudin ac enim vitae, viverra cursus lorem. Sed nec nisl vitae ex egestas commodo. Vivamus imperdiet eros in leo mollis, quis laoreet est dapibus. Quisque vitae rhoncus orci. Donec lectus ipsum, vehicula id fermentum vitae, maximus sit amet dui. Nunc sodales magna sed elit posuere, quis laoreet ante auctor. Etiam mi augue, efficitur sed tincidunt nec, tempus eleifend lorem. Nam nec diam mollis, lacinia est vitae, tincidunt justo.

Sed lorem leo, vestibulum sit amet metus vitae, ornare rhoncus sapien. Ut vulputate eros quis dui pharetra blandit. Etiam a eros leo.

Phasellus ac sollicitudin lectus

<div>
  {formatDistanceToNowStrict(post.created_at, {
    locale: ptBR,
    addSuffix: true,
  })}
</div>
Donec in eros et lorem

Sed semper purus dui, in faucibus ante pulvinar id. Morbi semper nisi in mattis finibus. Cras a purus erat. Mauris in lectus at leo maximus luctus. Sed condimentum est fermentum magna feugiat auctor. Cras pharetra augue sed magna iaculis lacinia. Vivamus sit amet consectetur nulla, eu pharetra turpis. Fusce ut metus tempus, mattis diam a, mattis enim. Etiam gravida ligula nisl, vitae dapibus urna efficitur in. Donec in eros et lorem feugiat rutrum eu quis enim.


Vivamus sit amet justo ut ipsum rutrum sollicitudin. Duis blandit enim non diam dignissim sagittis. Mauris suscipit, turpis in ullamcorper faucibus, libero metus pretium quam, non maximus risus massa et libero. Mauris at suscipit lectus. Quisque sagittis pharetra porta. <span> sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.

Praesent dignissim diam vel odio

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla justo elit, sollicitudin ac enim vitae, viverra cursus lorem. Sed nec nisl vitae ex egestas commodo. Vivamus imperdiet eros in leo mollis, quis laoreet est dapibus. Quisque vitae rhoncus orci. Donec lectus ipsum, vehicula id fermentum vitae, maximus sit amet dui. Nunc sodales magna sed elit posuere, quis laoreet ante auctor. Etiam mi augue, efficitur sed tincidunt nec, tempus eleifend lorem. Nam nec diam mollis, lacinia est vitae, tincidunt justo.

Sed lorem leo, vestibulum sit amet metus vitae, ornare rhoncus sapien. Ut vulputate eros quis dui pharetra blandit. Etiam a eros leo.

Phasellus ac sollicitudin lectus

<div>
  {formatDistanceToNowStrict(post.created_at, {
    locale: ptBR,
    addSuffix: true,
  })}
</div>
Donec in eros et lorem

Sed semper purus dui, in faucibus ante pulvinar id. Morbi semper nisi in mattis finibus. Cras a purus erat. Mauris in lectus at leo maximus luctus. Sed condimentum est fermentum magna feugiat auctor. Cras pharetra augue sed magna iaculis lacinia. Vivamus sit amet consectetur nulla, eu pharetra turpis. Fusce ut metus tempus, mattis diam a, mattis enim. Etiam gravida ligula nisl, vitae dapibus urna efficitur in. Donec in eros et lorem feugiat rutrum eu quis enim.


Vivamus sit amet justo ut ipsum rutrum sollicitudin. Duis blandit enim non diam dignissim sagittis. Mauris suscipit, turpis in ullamcorper faucibus, libero metus pretium quam, non maximus risus massa et libero. Mauris at suscipit lectus. Quisque sagittis pharetra porta. <span> sed porttitor velit vestibulum nisi pellentesque, ac luctus nisl aliquam. Quisque efficitur condimentum maximus. Phasellus ac sollicitudin lectus, eu elementum lectus.

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.