Twender

  • presentation

  • source code

  • A Django REST framework API designed to act as a virtual matatu(public transport system) conductor by managing payments and passenger trips.

  • The application features role-based access for passengers and condutors

Features

  • User registration and JWT Authentication
  • Role-Based access Control(passenger)
  • Dynamic fare calculation based on dynamic routes, stops and peak-hours
  • passenger endpoints to create trips
  • conductor-only endpoint to view passenger destination and payment statuses
  • conductor-only ability to update the payment status

Structure

-Twender - Users App: Handles user registration, login an profiles

Docker: Introduction to containerization

What is containerization

A container is a package that simulates the underlying operating system and is packaged with all the dependecies that your application need to run. Unlike a Virtual Machine that simulates and virtualise the underlying hardware, a container only virtualise the OS. They provide a way to package applications with required dependencies that is seperated from the host OS. This enables the application to run out-of-the-box despite running on a different underlying enviroment other than the one its was compiled on. Containers basically act as lightweight VMs and they share the underlying OS.

Incident Report Procedure

Linux Based Environment

Goal: identify faulty server to find the root cause, gather evidence, either resolve the issue or escalate it. Assumptions

  • An incident has been declared and the server is suspected to be involved
  • The operations person has login credentials(SSH and password)
  • The existent of a ticketing or issue tracking system(Jira, ServiceNow)

phase1: preparation and initial assessment

Acknowledge the assigned ticket:

  • Take up the assigned ticket and read through the details
  • From this point, document every action carried out, command run and the timestamp for better documentation in the postmortem Gather context:
  • Understand the issues presented or associated with the server in the ticket(e.g ‘slow server’, ‘API returning 500’, ‘Users unable to login into the domain’ )
  • Understand the issue reported so as to know what to tackle: * what errors are presented
    • what services are hosted in the server?
    • Are any other services in the server experiencing the same issue?
    • Check for monitoring dashboards before logging in(DataDog, Grafana, Nagios, ) look for obvious anomalies:

      High CPU/Memory Usage Latency spikes Error rate increase Health check failures