- 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.
- NestJS
- NextJS
- NodeJS
- Typescript
- Swagger
- Jest
- React
- Tailwindcss
- Vercel
- Github API
- Date-fns
- Railway
- React-Hot-Toast
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.
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.
Type the following command:
cd github-history/backend
Install all dependencies, you need to have installed nodejs version 16.15.0.
npm install
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/
You can visit following path to see documentation generated with swagger:
http://localhost:8080/api/docs
Commands to test server.
# unit tests
npm run test
# e2e tests
npm run test:e2e
In the root of project, type the following command:
cd github-history/frontend
Install all dependencies, you need to have installed nodejs version 16.15.0.
npm install
Run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 with your browser to see the result.
The project is deployed with Vercel. Open this link with your browser to see demo: