Skip to content

HeyitzSagar/FlytBase_Backend_Assignment

Repository files navigation

Drone Mission Management Backend Service

This project is a backend service for managing drones, missions, and flight logs. It is designed to facilitate the automation of drone-based surveying/mapping for large campuses or sites. Built using NestJS, the service includes CRUD operations, mission simulations, and robust authentication mechanisms.


Features

Core Features

  • User Authentication

    • Implemented using JWT tokens.
    • APIs for user login and authentication.
  • Drone Management

    • Create, Read, Update, and Delete (CRUD) operations for drones.
  • Mission Management

    • CRUD operations for missions with properties like altitude, speed, name, waypoints (array of geolocations), and timestamps.
  • Mission Execution Simulation

    • Simulates the movement of drones along mission waypoints.
    • Calculates distances and time intervals between waypoints based on drone speed.
    • Logs drone positions, altitudes, and timestamps during the simulation.
  • Flight Logs

    • Stores executed mission details including flight logs, drone information, and timestamps.
    • Provides a unique flight ID for each mission execution.
  • Mission Start/Stop

    • Endpoints to start and stop a mission execution.
    • Simulates real-world drone behavior during the mission execution.

Additional Features

  • Flight Log PDF Generation

    • Generates and downloads flight logs in PDF format.
  • Dockerization

    • Docker support for easy deployment.
  • Data Validation

    • Input validation with proper error handling and response structures.

Tech Stack

  • Framework: NestJS
  • Database: MongoDB
  • Authentication: JWT
  • Language: TypeScript
  • Tools: Docker, Postman

Installation

  1. Clone the repository:
    git clone <repository-url>
    cd <project-directory>

Releases

No releases published

Packages

 
 
 

Contributors