61 lines
2.7 KiB
Markdown
61 lines
2.7 KiB
Markdown
Based on the provided context, here's a technical.md file for the GitJet repository:
|
|
|
|
---
|
|
title: Technical Overview of gitjet/gitjet.ru
|
|
description: This document provides an overview of the technical architecture and components used in the gitjet/gitjet.ru repository.
|
|
date: 2023-02-28T00:00:00Z
|
|
draft: false
|
|
---
|
|
|
|
# GitJet Technical Overview
|
|
|
|
## Document Scope (Onboarding Only)
|
|
|
|
This file is a **short onboarding brief** for quick context — not a project plan or roadmap. It does not duplicate content from `.doc/plans/` If present in the repo. Keep the whole document under ~120 lines. Mark inferred claims with _(inferred)_.
|
|
|
|
## Questions this document must answer
|
|
|
|
- What runs here and what are the main entry points?
|
|
- What are the top components and how do they connect?
|
|
|
|
## Architecture Overview
|
|
|
|
The GitJet repository is a web application that provides an AI-powered solution for managing software development projects. It consists of several components, including:
|
|
|
|
1. **Frontend:** The frontend is built using React, a popular JavaScript library for building user interfaces.
|
|
2. **Backend:** The backend is written in Go, a statically typed programming language known for its simplicity and efficiency.
|
|
3. **Database:** The application uses PostgreSQL as the database to store project data, user information, and other relevant details.
|
|
|
|
## Component Diagram
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
subgraph Frontend [Frontend]
|
|
A[React App] --> B[Redux Store]
|
|
B --> C[API Service]
|
|
end
|
|
subgraph Backend [Backend]
|
|
D[Go Server] --> E[PostgreSQL Database]
|
|
end
|
|
C --> D
|
|
```
|
|
|
|
## Use Cases
|
|
|
|
The GitJet application provides the following use cases:
|
|
|
|
| ID | Name | Trigger | Outcome |
|
|
|---|----------------------------|---------------------------------------------------|--------------------------------------------------|
|
|
| 1 | Create Project | User clicks "Create Project" button on frontend | Project is created in the database and displayed on frontend |
|
|
| 2 | Update Project Details | User edits project details on frontend | Updated details are saved to the database |
|
|
| 3 | Delete Project | User clicks "Delete Project" button on frontend | Project is deleted from the database |
|
|
|
|
## Data and Persistence
|
|
|
|
The application uses PostgreSQL as its main database. It stores information about projects, users, and other relevant details. The database schema is designed to be flexible and scalable.
|
|
|
|
## Observability and Operations
|
|
|
|
GitJet provides observability through Prometheus and Grafana for monitoring system performance and resource usage. It also includes a logging system for tracking application activity.
|
|
|
|
--- |