Skip to content

Emilien-Foissotte/carburoam

Repository files navigation


Carburoam ⛽💸

The first open-source live Gas Station price dashboard.

Python version Keep Alive GitHub commit activity GitHub issues ready for dev ETL demo page CICD Status

Welcome to the Carburoam repository, it fuels an Open Source dashboard to help users get cheapest prices at gas stations in 🇫🇷

Try it now

Open in Streamlit

Table of Contents

  1. What is Carburoam?
  2. Developer notes
    1. Data flow
    2. Environment management
    3. Testing
  3. Vulnerability Disclosure
    1. Authorization
    2. Guidelines
    3. Test methods
    4. Scope
    5. Reporting a vulnerability
  4. Contributing
  5. Acknowledgements
  6. License

What is Carburoam?

Carburoam is an open-source built dashboard on top of Python, Streamlit and ❤️

It showcase a Data engineering project which :

Watch the video

Developer notes

Data flow

ETL workflow

We run on a Streamlit backend, with an AWS S3 distant storage to persist data accross reboot of the Streamlit server.

A more complete overview of the stack is available in my blog post ⚙️ here

Environment management

To manage local and distant environments, it uses an .ENV file, which shall contain theses keys :

  • GMAIL_APP_PASSWORD : app password for streamlit gmail account
  • LOAD_MODE="remote|local" : If remote, need AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  • BUCKET_NAME_STORE: Uri of the bucket where config file is stored, if using remote load mode

Testing

This repository uses somes github actions defined in .github/workflows folder.

It uses mock to setup a mocking environment and fire some pytest tests to ensure app is working properly.

Contributing

Even though this project is not intended to be developed by the community, any suggestions or pull requests are happily welcomed.

Vulnerability Disclosure

Authorization

We welcome security research on Carburoam under the terms of the following policy.

Guidelines

Under this policy, “research” means activities in which you:

  • Notify us as soon as possible after you discover a real or potential security issue.
  • Make every effort to avoid privacy violations, degradation of user experience, disruption to production systems, and destruction or manipulation of data.
  • Only use exploits to the extent necessary to confirm a vulnerability’s presence. Do not use an exploit to compromise or exfiltrate data, establish persistent command line access, or use the exploit to pivot to other systems.
  • Provide us a reasonable amount of time to resolve the issue before you disclose it publicly.
  • Do not submit a high volume of low-quality reports.

Once you’ve established that a vulnerability exists or encounter any sensitive data (including personally identifiable information, financial information, or proprietary information or trade secrets of any party), you must stop your test, notify us immediately, and not disclose this data to anyone else.

Test methods

The following test methods are not authorized:

  • Network denial of service (DoS or DDoS) tests or other tests that impair access to or damage a system or data
  • Physical testing (e.g. office access, open doors, tailgating), social engineering (e.g. phishing, vishing), or any other non-technical vulnerability testing

Scope

This policy applies to the following systems and services:

Reporting a vulnerability

Please send an email (email address at the end paragraph of About blog page)

Acknowledgements

Thank you to the Streamlit community for the usage of their platform.

Thank you to Siddhant Sadangi for the streamlit sidebar template.

Thank you to Devoteam A Cloud for republishing my blog post on Rebirth blog

License

Have a look at License file


Lemur, EF's mascot
Happy Coding ❤️

⬆ Back to Top