ArchanJS / log-ingestor

A log ingestor MERN app with simple and interactive UI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logger Ingestor and Query Interface

A web application for ingesting logs and querying log data. The project consists of a backend built with Node.js, Express.js, and MongoDB, and a frontend built with React.js.

Screenshot

Log Ingestor and Query Interface

Click here to watch the demo video

Installation

  1. Clone the repository:
    git clone https://github.com/dyte-submissions/november-2023-hiring-ArchanJS.git
  2. Navigate to the project directory:
    cd november-2023-hiring-ArchanJS
  3. Install dependencies for the frontend and backend:
    # Navigate to the frontend directory
    
    cd client
    npm install
    
    # Navigate to the backend directory
    
    cd backend
    npm install
  4. Start the backend server:
    # Inside the backend directory
    
    cd backend
    npm run dev
  5. Start the frontend server:
    # Inside the frontend directory
    
    cd client
    npm start
    

Open your browser:

Navigate to http://localhost:5000 to access the application.

Features

  1. Users can create logs by sending a POST request to http://localhost:3000. See cURL example below for reference:

    curl --location 'http://localhost:3000' \
    --header 'Content-Type: application/json' \
    --data '{
      "level": "error",
      "message": "Database corruption detected",
      "resourceId": "server-0123",
      "timestamp": "2023-09-16T00:45:00Z",
      "traceId": "xyz-abc-345",
      "spanId": "span-678",
      "commit": "2g4h6j8",
      "parentResourceId": "server-9012"
    }'
  2. Frontend runs on port 5000

  3. Users can select multiple fields and enter values for querying

  4. Users can hit the search button to query logs based on selected fields and values

  5. Users can see results even if they only enter a partial value in the query field. Searching with just one or two characters is sufficient

  6. Users can deselect any selected fields by clicking the cross button

  7. Log results are displayed in a table format

About

A log ingestor MERN app with simple and interactive UI


Languages

Language:JavaScript 67.8%Language:CSS 17.8%Language:HTML 14.3%