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.
Click here to watch the demo video
- Clone the repository:
git clone https://github.com/dyte-submissions/november-2023-hiring-ArchanJS.git
- Navigate to the project directory:
cd november-2023-hiring-ArchanJS
- 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
- Start the backend server:
# Inside the backend directory cd backend npm run dev
- Start the frontend server:
# Inside the frontend directory cd client npm start
-
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" }'
-
Frontend runs on port 5000
-
Users can select multiple fields and enter values for querying
-
Users can hit the search button to query logs based on selected fields and values
-
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
-
Users can deselect any selected fields by clicking the cross button
-
Log results are displayed in a table format