Giter VIP home page Giter VIP logo

github-commit-history-viewer's Introduction

GitHub Commit History Viewer

Welcome to the GitHub Commit History Viewer! Explore Git commit history effortlessly with this GitHub Commit Viewer. See project changes and commit details in a user-friendly interface.

Try the app

Demo

Instructions to run the project

Setup

Setup .env file:

  1. Start by copying the variables from the sample.env file provided in the project's root directory.

  2. Create a new file named .env in the same directory as the sample.env file.

  3. Paste the copied variables into the newly created .env file. Then, edit the values as needed to match your development environment.

Install Docker or Node V.18 to continue with the next steps

Using Docker (recommended)

The command runs both applications (Frontend App and API)

$ docker compose up

Using node

First install the node modules

$ npm install

Nx has different commands to run only one app or run both apps (Frontend App and API) together.

Run both apps

to run both projects with the same command use this

$ npx nx run-many --target=serve --all 

Run separately

Run only API

$ npx nx serve github-commit-history-viewer-api

Run only Frontend APP

$ npx nx serve github-commit-history-viewer-app

Test the apps locally

After run the projects, open these links Frontend APP: http://localhost:4200/ Backend API: http://localhost:3000/

Nx

This project was made with Nx

What is Nx?

Nx is a modern development tool that offer a unified workspace where you can efficiently organize and develop both the frontend and backend components of your application. Nx simplifies the management of dependencies, testing, and project structure, making it an ideal choice for complex projects where scalability and maintainability are critical. It provides features like code generation, advanced linting, and optimized build and test processes, ensuring a smooth development experience.

Why Nx for This Project?

With Nx I can share the types between Backend and Frontend, reducing code repetition and an easy way to update my types in both apps at the same time. Nx's ability to enforce best practices in code isolation and modularization simplifies future feature additions and codebase maintenance.

For this project I create only one library for types, but following best practices I should have more libraries, but for the purposes of this project (in case you haven't worked with Nx before) I tried to keep everything about the apps inside their respective folder

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.