jorgevgut / airquality-mx

MIT License
181 stars 74 forks source link

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.

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.