Hey there! Welcome to Knowledge Lens Intern Training Program.
This Assignment will serve as a quick refresher on the usage of NoSQL and Time-series databases.
There are three tasks in this assignment, on completion of which you'll learn:
* How to interact with Mongo DB
* Using Pandas Dataframe and generating your own excel reports
* Leveraging Kairos Time-series database for data ingestion and querying the same
* Publishing and Consuming messages via MQTT protocol
* Caching mechanism using Redis DB
Happy Coding! :tada:
## Task 1: Working with Mongo - Advanced
## :pushpin: Task 1: Working with Mongo - Advanced
## Areas covered:
### :golf: Areas covered:
- Timeseries Operation
- Timeseries Operation
- Working with NoSQL
- Working with NoSQL
- Working with Pandas
- Working with Pandas
## Description:
### :books: Description:
You are given with a dataset of an inspection company in the form of a JSON file. The end goal of the project is to create an API interface that will provide the following:
You are given with a dataset of an inspection company in the form of a JSON file. The end goal of the project is to create an API interface that will provide the following:
1. Business name with maximum number of "`Violation Issued`".
1. Business name with maximum number of "`Violation Issued`".
*[How to return files on FastAPI response](https://fastapi.tiangolo.com/advanced/custom-response/#fileresponse)
https://pymongo.readthedocs.io/en/stable/
*[PyMongo Official Documentation](https://pymongo.readthedocs.io/en/stable/)
_________________________________
_________________________________
## Task 2: Working with Timeseries
## :pushpin: Task 2: Working with Timeseries
## Areas covered:
### :golf: Areas covered:
- Timeseries Operation
- Timeseries Operation
- Working with Timeseries
- Working with Timeseries
- Working with Pandas
- Working with Pandas
## Description:
### :books: Description:
You are given with a dataset of weather in the form of a CSV file. The end goal of the project is to create an API interface that will provide the following:
You are given with a dataset of weather in the form of a CSV file. The end goal of the project is to create an API interface that will provide the following:
1. Get daily, monthly, weekly and monthly aggregate (min, max, and average) of the data and generate report in Excel format.
1. Get daily, monthly, weekly and monthly aggregate (min, max, and average) of the data and generate report in Excel format.