Skip to content

Latest commit

 

History

History
279 lines (245 loc) · 12.2 KB

README.md

File metadata and controls

279 lines (245 loc) · 12.2 KB

demo status deploy test

Github History App

Next.js Typescript Tailwind CSS React Github API Date-fns React-Hot-Toast Vercel Node.js NestJS Swagger Jest

This app will show you a list of all commits of a github repository. You can search by username, select the repository and branch you want to search and it will show you a list of all commits respectively.

Demo · Report issue · Suggest something

Table of Contents

Features

  • Show a list of all repositories of a Github user.
  • Show a list of all branches of a Github repository.
  • Show a list of all commits of a Github repository.
  • Use Github API to get data of commits, repositories, branches, etc.
  • Backend was developed with NestJS to create a REST API.
  • REST API was documented with Swagger.
  • Frontend was developed with NextJS and consume data from backend.
  • Frontend use Tailwind, a custom css loader and a dark theme.
  • Frontend deployed with Vercel.
  • Backend deployed with Railway.
  • Typescript was used in backend and frontend.
  • Use React-Hot-Toast to show notification messages.

Tech Stack

Getting Started

This is a mono repository project that is divided in two parts, the backend and the frontend. The backend is developed with NestJS and the frontend with NextJS.

Cloning the repository

Open a command prompt, and copy the following command, you need to have installed git.

git clone https://github.com/wrujel/github-history.git

Press Enter to create your local clone.

Cloning into 'github-history'...
remote: Enumerating objects: 138, done.
remote: Counting objects: 100% (138/138), done.
remote: Compressing objects: 100% (84/84), done.
remote: Total 138 (delta 54), reused 130 (delta 50), pack-reused 0 eceiving objects:  83%
Receiving objects: 100% (138/138), 230.03 KiB | 747.00 KiB/s, done.
Resolving deltas: 100% (54/54), done.

Setup Backend

Type the following command:

cd github-history/backend

Installation

Install all dependencies, you need to have installed nodejs version 16.15.0.

npm install

Running server

Commands to run backend server, use start:dev if you want to automatically reset server after saving changes.

# development
npm run start

# watch mode
npm run start:dev

The server will start running.

[Nest] LOG [NestApplication] Nest application successfully started 
Server running on port 8080

Open your browser and copy following url to see result:

http://localhost:8080/

Documentation

You can visit following path to see documentation generated with swagger:

http://localhost:8080/api/docs

Test

Commands to test server.

# unit tests
npm run test

# e2e tests
npm run test:e2e

Setup Frontend

In the root of project, type the following command:

cd github-history/frontend

Installation

Install all dependencies, you need to have installed nodejs version 16.15.0.

npm install

Running client

Run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

Try Demo

The project is deployed with Vercel. Open this link with your browser to see demo:

demo