Skip to content

Latest commit

 

History

History
90 lines (57 loc) · 3.79 KB

README.md

File metadata and controls

90 lines (57 loc) · 3.79 KB

GitBlog

Status


📝 Table of Contents

📚 About

GitHub Issue Blog is an application that utilizes the GitHub API to fetch issues from a repository and display them as blog posts.

➡ Application Running

gitblog.mp4

🏁 Getting Started

These instructions will allow you to get a copy of the project and run the application locally for development and testing purposes.

Prerequisites

  • First, you need to have NodeJS installed on your machine. To do this, access the official NodeJS website by clicking here and follow the installation instructions for your operating system.

Installation

  1. Clone the repository using the command or download the .zip file and extract the contents:

    git clone https://github.com/lukeskw/react-gh-blog.git
  2. Access the project folder

  3. Install the project dependencies

    npm install
  4. Run the project in development mode

    npm run dev

🔧 Requirements

Functional Requirements:

  • Displaying your GitHub profile information, including image, followers count, name, etc.
  • Listing and filtering all issues from the repository with a brief summary of their content.
  • Creating a page to display a complete post (issue).

Non-functional Requirements:

  • Proper routing and navigation between different pages of the application.
  • Fetching data from the GitHub API to display profile information and issues.
  • Implementing forms for filtering and navigating through issues.

Business Rules:

  • Ensure that the application doesn't exceed the rate limit imposed by the GitHub API when making requests for fetching user profile information and repository issues.
  • Implement proper error handling and feedback mechanisms if rate limits are reached.
  • Ensure that the fetched data from the GitHub API, including user profile information and repository issues, is accurate and up-to-date

⛏️ Technologies

  • TypeScript - A superset of JavaScript that adds static type definitions, enhancing code quality and developer productivity.
  • ReactJS - A JavaScript library for building user interfaces, providing a component-based architecture and efficient rendering.
  • Tailwind CSS - A utility-first CSS framework used for styling, providing a low-level utility approach for building custom designs.
  • Tailwind Merge - A Tailwind CSS plugin that adds utilities for merging utility classes, enabling more flexible and concise styling.
  • Vite - A blazing fast build tool for modern web development, offering instant server start and optimized build times.
  • Axios - A promise-based HTTP client for making requests to APIs, used for handling asynchronous operations in web applications.
  • Day.js - A lightweight and fast JavaScript library for parsing, validating, manipulating, and formatting dates.
  • Phosphor React - A library of SVG icons as React components, offering a collection of customizable for use in web applications.