Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VSC Commit Explorer API

Description

This is a backend application that provides an API for exploring a version control system (VCS) repository.

Supported VCS:

  • Github
  • Gitlab
  • Bitbucket

Getting Started

Prerequisites

Installation

  1. Clone the repository
git clone
  1. Install dependencies
bun install

Usage

  1. Start the application
bun start

Development

  1. Start the application in development mode
bun dev

Testing

  1. Run tests
bun test

Documentation

The project uses Swagger OAS 3.0 for documentation.

Swagger

While the application is running, the Swagger UI is available at http://localhost:3000/swagger

Folder Structure

The project uses the following folder structure:

├── src
|  ├── controllers
|  ├── plugins
|  ├── routes
|  ├── services
|  └── types
└── tests

Service-Route-Controller (SRC) Architecture

Description

The Service-Route-Controller (SRC) Architecture is an architectural pattern used for structuring backend applications. It provides a clear separation of responsibilities, making it easier to organize and maintain code. The architecture consists of three main components:

  • Service: Responsible for handling business logic and interactions with databases or other data sources.
  • Route: Defines API routes and endpoints to direct incoming HTTP requests to the appropriate controllers.
  • Controller: Manages application logic and handles HTTP requests.

Derived From

The SRC Architecture draws inspiration from the Model-View-Controller (MVC) pattern, adapting it to the context of backend development. While not a strict implementation of MVC, it embraces the principles of separation of concerns and modularity, facilitating the development of scalable and maintainable backend applications.

Q&A

Why is the project using Elysia?

Elysia is a backend framework that is built on top of the bun runtime. It provides a set of tools and conventions that make it easier to build backend applications.

Why is the project using the bun runtime?

Bun is designed as a drop-in replacement for Node.js

The bun runtime is a lightweight runtime that is optimized for building backend applications. It is also the recommended runtime for Elysia.

As stated in the bun documentation, Bun is a new JavaScript runtime built from scratch to serve the modern JavaScript ecosystem.

Why is the folder structure different from the one generated by the bun create command?

The bun create command generates a folder structure that is optimized for small projects. The folder structure described in this template is more suitable for medium to large projects.

Why does the project use the SRC Architecture?

The SRC Architecture is a proven architectural pattern that is used by many popular backend frameworks, such as NestJS, AdonisJS, and FeathersJS. It is also the recommended architecture for Elysia.

About

API for VCS Commit Explorer, a versatile application for tracking and visualizing commit histories across various Version Control Systems (VCS).

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages