Giter Site home page Giter Site logo

olagold-hackxx / climatewavers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ismaelkiprop/climatewavers

3.0 0.0 0.0 121.28 MB

A social media Web app focused on climate change, where users can post details and data about climate-related events, and the application leverages AI-driven analysis.

JavaScript 25.21% Python 26.92% CSS 11.89% HTML 35.97%

climatewavers's Introduction

Climate Waver

This project aims to provide real-time climate change monitoring and disaster response capabilities through an integrated platform. The system utilizes Python and Node.js servers, MySQL for users and communities database, MongoDB for storing third-party datasets, and implements mitigation strategies for the OWASP Top 10 security risks.

  1. Project Architecture
  2. Technologies Stack
  3. Features
  4. Setup and Installation
  5. OWASP Top 10 Mitigation

Project Architecture

Architecture

Technologies Used

Backend

Python Server:

Framework: Django
Database: MySQL for user and communities data
Real-time Data Processing: Pandas, NumPy
Real-time Communication: Django-socketio for websocket implementation
APIs: RESTful API endpoints for data retrieval and analysis

Node.js Server

Framework: Express.js
Database: MongoDB for storing third-party datasets
Real-time Communication: Socket.io for websocket implementation
Security: Helmet.js for securing HTTP headers, Express Validator for input validation
APIs: RESTful websocket API endpoints for real time data retrieval, updates and analysis

Machine Learning

TensorFlow

Frontend

Framework: React.js
Data Visualization: D3.js, Chart.js
Mapping: Leaflet.js for interactive maps
User Interface: Material-UI for responsive design\

Databases:

  • MySQL

    • Schema: Users, Communities
      Authentication\
    • ORM: SQLAlchemy
  • MongoDB:

    • Collections: Third-party datasets, Real-time climate data
      MongoDB Atlas for cloud-based storage

Features

Real-time Climate Monitoring: Utilize satellite data, weather stations, and environmental sensors to provide real-time climate change information.
Disaster Prediction: Implement machine learning models to predict disaster events based on historical data and current climate patterns.
Community Engagement: Allow users to contribute real-time observations, report incidents, and participate in disaster preparedness activities.
Third-party Data Integration: Store and analyze third-party datasets related to climate change, environmental factors, and disaster events using MongoDB.\

OWASP Top 10 Mitigation:

Implement input validation and sanitization to prevent SQL Injection and Cross-site Scripting (XSS) attacks. Secure HTTP headers using Helmet.js to prevent various attacks like Clickjacking. Implement secure authentication mechanisms and use encryption for sensitive data storage to prevent data breaches. Regular security audits and code reviews to identify and fix vulnerabilities.

Setup and Installation

Clone the Repository:

git clone https://https://github.com/IsmaelKiprop/ClimateWavers.git
cd ClimateWavers

Setup Python Server:

  1. Clone the Repository:

    cd Django-server
  2. Install Dependencies:

    pip install -r requirements.txt
  3. Database Setup:

    • Configure the database settings in settings.py.
    • Run migrations:
      python manage.py migrate
  4. Static and Media Files:

    • Collect static files:
      python manage.py collectstatic
    • Configure media file settings in settings.py.
  5. Run the Django Development Server:

    python manage.py runserver

Setup Node Server:

  1. Install Dependencies:
npm install
  1. Environment Variables:

    • Create a .env file in the root directory.
    • Define the following environment variables in the .env file:
      PORT=3000
      THIRD_PARTY_API_URL=<third-party-api-url>
  2. Run the Node.js Server:

    npm start

climatewavers's People

Contributors

olagold-hackxx avatar massterjoe avatar ismaelkiprop avatar

Stargazers

siham heddi avatar Kaouther avatar Keqing 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.