Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mariarodr1136/atmosphereanalyzer

Atmosphere Analyzer is a smart environmental monitoring system that simulates real-time sensor data using Python, integrates AWS S3 for storage, and employs AWS Lambda for processing. Its Django API serves a React frontend, providing an interactive dashboard for visualizing key environmental metrics. 🌡️
https://github.com/mariarodr1136/atmosphereanalyzer

aws data-visualization django environmental-monitoring iot lambda python react real-time-data s3-bucket serverless sustainable-resourse

Last synced: 4 days ago
JSON representation

Atmosphere Analyzer is a smart environmental monitoring system that simulates real-time sensor data using Python, integrates AWS S3 for storage, and employs AWS Lambda for processing. Its Django API serves a React frontend, providing an interactive dashboard for visualizing key environmental metrics. 🌡️

Awesome Lists containing this project

README

        

# Atmosphere Analyzer: Smart Data Visualization Tool 🌎📊

Atmosphere Analyzer is an innovative environmental monitoring system that simulates real-time sensor data with Python, seamlessly integrates AWS S3 for scalable data storage, and leverages AWS Lambda for on-the-fly data processing. The backend API, built with Django, serves environmental data to a dynamic, data-rich React frontend that visualizes key environmental metrics in an intuitive dashboard. This project is engineered to provide deep insights into environmental trends, supporting sustainable resource management through smart data visualization.

![Python](https://img.shields.io/badge/Python-Programming%20Language-blue) ![Django](https://img.shields.io/badge/Django-Framework-green) ![AWS](https://img.shields.io/badge/AWS-Cloud%20Platform-orange) ![AWS Lambda](https://img.shields.io/badge/AWS%20Lambda-Serverless%20Computing-yellow) ![AWS S3](https://img.shields.io/badge/AWS%20S3-Object%20Storage-lightblue) ![React](https://img.shields.io/badge/React-Library-lightblue) ![Data Visualization](https://img.shields.io/badge/Data%20Visualization-Library-brightgreen) ![IoT](https://img.shields.io/badge/IoT-Concept-yellow)

## Table of Contents
- [Project Overview](#project-overview)
- [Architecture](#architecture)
- [Technologies](#technologies)
- [Setup and Installation](#setup-and-installation)
- [Usage](#usage)
- [Deployment](#deployment)
- [Future Enhancements](#future-enhancements)
- [Contributing](#contributing)
- [Contact](#contact-)

---

Screenshot 2024-10-31 at 5 24 10 PM
Screenshot 2024-10-31 at 5 24 18 PM

---

## Project Overview
Atmosphere Analyzer enables real-time monitoring and visualization of environmental metrics through a robust architecture that simulates, processes, and delivers data efficiently. Designed for scalability and insight-driven analytics, the system models sensor data to help users track environmental changes over time, providing actionable insights for data-driven decision-making.

## Architecture

1. **Data Simulation (Python)**: Simulates sensor data (e.g., temperature, humidity) to mimic real-world readings.
2. **Data Storage (AWS S3)**: Utilizes AWS S3 for scalable and durable storage of environmental metrics.
3. **Data Processing (AWS Lambda)**: Processes incoming data using AWS Lambda, enabling real-time processing without server management.
4. **Backend API (Django)**: Organizes and serves data to the frontend through RESTful endpoints, managing data access efficiently.
5. **Frontend Visualization (React)**: The interactive React dashboard fetches and visualizes data in real-time, enhancing user engagement.

## Technologies

- **Python**: For data simulation and AWS Lambda processing.
- **AWS (S3, Lambda)**: Provides scalable storage and serverless data processing capabilities.
- **Django**: Facilitates API creation and data management.
- **React**: Powers interactive data visualization.
- **Django REST Framework**: Establishes REST API endpoints for seamless data access.

## Setup and Installation

### Prerequisites

- **Python 3.x** and **Django** installed on your machine
- **Node.js and npm** for the React frontend
- **AWS CLI** configured with access to S3 and Lambda

### Installation Steps

1. **Clone the Repository**
```bash
git clone https://github.com/yourusername/atmosphere-analyzer.git
cd atmosphere-analyzer
2. **Backend Setup (Django)**
- Navigate to the backend directory:
```bash
cd backend
- Install dependencies:
```bash
pip install -r requirements.txt
- Configure AWS S3 settings in Django.
- Start the Django Server:
```bash
python manage.py runserver
3. **Frontend Setup (React)**
- Navigate to the frontend directory:
```bash
cd frontend
- Install dependencies:
```bash
npm install
- Start the React development server:
```bash
npm start
4. **AWS Lambda Setup**
- Create a Lambda function for data processing and configure it to store data in S3.

---

https://github.com/user-attachments/assets/4c8a8693-ebb0-4f83-892d-03498b00b783

---

## Usage

1. **Simulate Sensor Data**: Run the Python script to simulate data transmission to the Django API.
2. **View Data on Dashboard**: Access the React dashboard to visualize real-time environmental metrics sourced from the API.

## Deployment

- **Backend (Django)**: Deploy using AWS Elastic Beanstalk or EC2 for scalable hosting.
- **Frontend (React)**: Deploy via AWS Amplify or S3 static site hosting for reliable frontend delivery.

## Future Enhancements

- **Advanced Data Analytics**: Integrate machine learning models to predict environmental trends.
- **User Authentication**: Implement user management for secure, personalized data access.
- **Expanded Sensor Metrics**: Add more simulated metrics like air quality and light levels.

## Contributing
Feel free to submit issues or pull requests for improvements or bug fixes. You can also open issues to discuss potential changes or enhancements. All contributions are welcome to enhance the app’s features or functionality!

To contribute, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bug fix:
```bash
git checkout -b feat/your-feature-name
- Alternatively, for bug fixes:
```bash
git checkout -b fix/your-bug-fix-name
3. Make your changes and run all tests before committing the changes and make sure all tests are passed.
4. After all tests are passed, commit your changes with descriptive messages:
```bash
git commit -m 'add your commit message'
5. Push your changes to your forked repository:
```bash
git push origin feat/your-feature-name.
6. Submit a pull request to the main repository, explaining your changes and providing any necessary details.

## Contact 🌐
If you have any questions or feedback, feel free to reach out at [[email protected]](mailto:[email protected]).