8000 GitHub - anhtuan284/rebuild-zone: OLP 2024 - Open-Source Software
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

anhtuan284/rebuild-zone

Repository files navigation

spring spring spring spring spring redis docker

RebuildZone

RebuildZone is built to develop an emergency relief system, providing humanitarian aid during natural disasters (floods, landslides, etc.) and pandemics, especially in Vietnam, after experiencing COVID-19 and Typhoon YAGI.

The project was initiated for the Vietnamese Open Source Software-Olympic IT Students Contest 2024. It is open-sourced under the Apache 2.0 license by the author team Lazy Sunday Morning (LSM).

For more information about the contest, visit vfossa.vn.

Canva presentation link at the competition: link


Table of Contents

  1. Introduction
  2. Core Features
  3. System Architecture
  4. Project Structure
  5. Installation Guide
  6. Contributing
  7. License

Introduction

RebuildZone focuses on supporting individuals during crises by leveraging technology, including AI, multilingual features, and efficient resource management.


Core Features

The project highlights the following main features:

  1. Personal status declaration (health, condition, and emergencies)
  2. Image processing for damage predictions and statistics
  3. Donation and humanitarian support management
  4. Decision-making suggestions
  5. Chatbot for health consultations and emergency guidance
  6. Multilingual support for foreigners in Vietnam

System Architecture

image


Project Structure

rebuild-zone/
├── chatbot-server/           # (Flask server) - AI Chatbot
│   ├── instance/             # SQLite database for saving chat history
│   ├── app.py                # Main application
│   ├── requirements.txt      # Python dependencies for the environment
│   └── Dockerfile
│
├── xray-server/              # (Flask server) - ChestXray
│   ├── imageutil/            # Implements GradCAM technique
│   ├── models/               # CNN models
│   ├── app.py
│   ├── requirements.txt
│   └── Dockerfile
│
├── budibase/                 # Budibase UI
│   ├── attachments/          # Image attachments
│   ├── budibase-client.js    # Budibase settings and configurations
│   ├── db.txt                # Budibase built-in database configuration & data
│   └── manifest.js
└── docker-compose.yml        # Docker Compose configuration

Installation Guide

A. Installing Budibase

  1. Install Docker:

    • Download Docker: Get Docker.
    • Verify installation:
      docker --version
      docker info
  2. Run Budibase with Docker Compose:

    • Start Budibase and MongoDB containers:
      docker-compose up -d
  3. Create Login Account: Follow the prompts to set up your account.

    image

  4. Add an empty app:

    image

  5. Add our app:

    Import an app and access it via: http://localhost:10000/builder/portal/{app-name}.

    image


B. Flask App Setup

  1. Install Python and Dependencies: Ensure Python 3.6+ is installed:

    python --version
    python -m ensurepip --upgrade
  2. Install Requirements

  • Navigate to chatbot-server then xray-server:

    cd rebuild-zone/chatbot-server
    cd rebuild-zone/xray-server
  • Install project dependencies from requirements.txt:

    pip install -r requirements.txt
  1. Run Flask App: Set up environment variables and run

    python3 -m flask run

    You can contact us via email to have free access to our testing sandbox.

  • Install project environment with provided example /.env.example:

    # BACK-END ENV
    FLASK_APP=app.py
    # For xray-server
    CLOUDINARY_CLOUD_NAME=
    CLOUDINARY_API_KEY=
    CLOUDINARY_API_SECRET=
    SENTRY_DNS=
    
    # For chat server
    OPENAI_API_KEY=openAPIKey
    ...
  • After finish setting up environment, you can run the following command:

    python3 -m flask run

    If the project is correctly set up, the terminal output will show this:

    Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Contributing to the Project

Bug Report ⚠️

Request Feature 👩‍💻

If you would like to contribute to the project, please refer to the CONTRIBUTION.md for more details.

All contributions are highly valued, so don't hesitate to submit a pull request to the project.

Contact

License

This project is licensed under the terms of the APACHE-2.0 license.

Contributors 3

  •  
  •  
  •  
0