Giter VIP home page Giter VIP logo

airquality-mx's Introduction

AirQualityMX project: air quality notifications for Mexico

What is this? Why?

This can be called a 'personal' project by @jorge_vgut with the original intentions of learning C# Programming language, and at the same time, do something that could be shared and used to share knowledge on programming and software design. If you'd like to learn about how this project is design, please check our high level design document first.

Project status

This project is in DEVELOPMENT currently undergoing tests.** If you would like to learn more about this, please head to our Wiki on Github.

Coding guidelines

Intention is to follow Microsoft's dotnet best practices. Visit their dotnet/runtime project on Github. https://github.com/dotnet/runtime/blob/master/docs/coding-guidelines/coding-style.md

Use CodeFormatter: https://github.com/dotnet/codeformatter as a tool to format code.

Note: code formatting and perfect style is out of scope for the moment

Instructions

Deploy cloud infrastructure on AWS

Go to cloud-infra/AirQualityCDK/ which is an AWS CDK project, here you will need the following requirements.

  • Need an Aws account with permissions to deploy all services, for details see the CDK Stack implementation in this project.
  • Have aws cli installed and configuration already set locally for cdk deploy to pick it up.
  • Set the following environment variables set
    # may put this values on env-setup.sh for easing the process
    TOKEN -> Waqi API token
    TWITTER_APIK=Twitter API KEY;
    TWITTER_APIS=Twitter API Secret;
    TWITTER_ACCESS_TOKEN=Twitter access token (for development purposes);
    TWITTER_SECRET_TOKEN=Twitter secret token (for development purposes);
    
  • Will need S3 bucket to hold package lambdas. Refer to script in src/Aws/package-and-upload-lambdas.sh
  • project is a dotnetcore v3 app, make sure to have dotnet cli installed to build the project.

Sample setup:

#from /project-root
# make sure all projects build and are tested(test is very limited), this is done automatically as all are added as part of solution in project root.
dotnet build
dotnet test

# from src/Aws
# this packages and upload lambda zip files into s3 buckets, this will be picked up by CDK stack
./package-and-upload-lambdas.sh

# from cloud-infra/AirQualityCDK
# setup required environment variables so CDK provisions resources with these as environment variables
./env-setup.sh
# provision everython on Aws as a Stack
cdk deploy

Contributions

Should you like to provide any feedback, please open up an Issue, I appreciate feedback and comments, although please keep in mind the project is incomplete, and I'm doing my best to keep it up to date.

Currently the project is NOT ACCEPTING CODE CONTRIBUTIONS (pull requests, or else) However as this is in its early stages, you are welcome to leave feedback on its current design.

airquality-mx's People

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.