Giter Club home page Giter Club logo

dragon-guard's Introduction

Dragon Park Dashboard

Dragon Park Dashboard is a tool designed to enhance the safety and efficiency of Dragon Park operations by providing real-time information about the status of park zones.

Table of Contents

Introduction

Dragon Park Dashboard consists of a backend service built with Flask to process events from the New Unified DragonPark Logging System (NUDLS™) and expose the status of park zones through a RESTful API. The backend is complemented by a simple frontend dashboard that displays the grid of zones.

Requirements

Ensure you have the following dependencies installed:

  • Python 3
  • Flask

Installation and Setup

  1. Clone the repository:

    git clone https://github.com/Mado007/dragon-guard
    cd dragon-guard
  2. Set up a virtual environment (optional but recommended):

    python3 -m venv venv
    source venv/bin/activate   # On Windows, use 'venv\Scripts\activate'
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run the Flask app:

    python app.py --port 5000

Usage

  • Access the Dragon Park Dashboard at http://127.0.0.1:5000/.
  • NUDLS events can be sent to the /nudls endpoint for processing.

API Documentation

Endpoints

  • GET /zones: Fetch a list of all zones and their statuses.
  • GET /zones/:zoneId: Retrieve details for a specific zone.

Example API Request

curl -X GET http://127.0.0.1:5000/zones

Testing

  1. Start your application according to the instructions in the readme file.
  2. Run the provided Postman collection against your API.
  3. Make requests (based on your documentation) to determine the status of each zone.

Insights

High Availability

Given the critical nature of the software, the backend ensures high availability with the following measures:

  • Utilization of load balancing.
  • Implementation of failover mechanisms.
  • Regular monitoring and automated alerts for system health.

Scalability

In anticipation of housing over 1 million dragons, potential areas of concern include:

  • Database scalability for handling increased data.
  • Optimized algorithms for processing large datasets efficiently.

Frontend Dashboard

Dashboard Features

  • Displays a grid of zones in a tabular format.
  • Color-coded indicators for zone status (green for safe, red for maintenance).
  • Basic search functionality for finding specific zones.
  • Details view for each zone, including the last maintenance date and carnivore presence.
  • Manual refresh button to fetch the latest data from the backend.

User Authentication

Basic user authentication is implemented to restrict access to authorized personnel.

Contributing

Contributions are welcome! Feel free to open issues, submit pull requests, or provide feedback.

License

This project is licensed under the MIT License.

Copyright © 2023 Mahmoud Eid.
https://github.com/Mado007/dragon-guard with the actual URL of your GitHub repository. Adjust the content as needed, and make sure to update the instructions and documentation based on the specific details of your project. This README was generated with ❤️ by Mahmoud Eid

dragon-guard's People

Contributors

mado007 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.