Skip to content

Commit

Permalink
delete names
Browse files Browse the repository at this point in the history
  • Loading branch information
linhui7 committed Dec 10, 2023
1 parent 577cb47 commit 34e3069
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@
- [Lisa Wang](link): the API ninja and our ever-ready helper
- [Minling Zhou](https://github.com/minlingz): our very own CTO, Sherlock Holmes with a debugger

## Description (ML)
## Description
Harmony Harbor is a microservice-based web application capable of analyzing and adapting to the latest music trends to suit your taste. It offers a unique way of exploring music, with a vast collection of over 100,000 tracks and a chatbox that understands your emotions and preferences. It also provides insightful analyses into music trends, with radar charts that profile top artists and line charts that trace the evolution of song duration and tempo through the years.

## Architecture Diagram (HL & ML)
## Architecture Diagram
![Alt text](<images/DE final Fall 2023.png>)

## Technologies Used (ML)
- Python, Flask
## Technologies Used

- Pandas, NumPy, Matplotlib, Seaborn
- Docker, Azure Container Registry, Azure App Service
- Azure Databricks, Spark SQL, delta tables
Expand All @@ -44,7 +44,7 @@ Harmony Harbor is a microservice-based web application capable of analyzing and
- OpenAI API
- Locust

## Microservices (ML)
## Microservices
### Harmony Harbor (https://harmonyharbor.azurewebsites.net/)
* `app.py`: This file contains the code for the Harmony Harbor service. It uses the Flask framework to handle the HTTP requests and responses.
```python
Expand Down Expand Up @@ -88,7 +88,7 @@ Harmony Harbor is a microservice-based web application capable of analyzing and
CMD ["python", "app.py"]
```

## Data Engineering (HL)
## Data Engineering

All notebooks are under `Notebooks` folder.

Expand All @@ -111,7 +111,7 @@ Spark SQL offers high-performance, scalable data processing across diverse sourc

AI tools, such as Copilot and ChatGPT, played a crucial role in streamlining the ETL pipeline by providing valuable insights and recommendations on data cleaning techniques, effective error handling strategies, and the selection of appropriate graph types for data analysis. These tools significantly enhanced the efficiency and quality of the data processing workflow, ultimately leading to more informed and accurate decision-making

## Data Science (HL)
## Data Science
We have two intriguing findings that stand out from a data science perspective.

![Artist Comparison](./images/Artists_Comparison.png)
Expand All @@ -126,7 +126,7 @@ The second revelation comes from a line chart that traces the ebb and flow of so

## LLM (Lisa)

## Infrastructure as Code (IaC) (MX)
## Infrastructure as Code (IaC)
Utilize an Infrastructure as Code (IaC) solution for infrastructure setup and management in Azure with Resource Manager (ARM) templates.

IaC standardizes infrastructure deployment, fostering rapid, error-free scaling and collaboration through version control. This approach streamlines operations, optimizes costs, and ensures robust security and disaster recovery measures.
Expand All @@ -142,12 +142,12 @@ Using Infrastructure as Code (IaC) in Azure allows us to automate the provisioni
![ARM resource](<images/ARM resource.png>)


## Continuous Integration and Continuous Delivery (CI/CD) (ML)
## Continuous Integration and Continuous Delivery (CI/CD)
We use GitHub Actions to implement Continuous Integration and Continuous Delivery (CI/CD) for our service. It provides a workflow to automate the build, test, and deployment of our application.
* Python package: `python-app.yml` - This workflow will run every time a new commit is pushed to main branch. It will install the dependencies, format and lint the code, run the tests, and upload the test results to GitHub.
* Build and deploy container app to Azure Web App: `main_HarmonyHarbor.yml` - This workflow will run every time a new commit is pushed to main branch. It will build the container image, push it to Azure Container Registry, and deploy it to Azure App Service.

## GitHub Configurations (ML)
## GitHub Configurations
### Github Actions
We implemented two workflows in GitHub Actions:
* `python-app.yml`: This workflow will run every time a new commit is pushed to main branch. It will install the dependencies, format and lint the code, run the tests, and upload the test results to GitHub.
Expand All @@ -160,7 +160,7 @@ We implemented two workflows in GitHub Actions:
### Github Codespaces
* `devcontainer.json`: This file is used to configure the Codespace. It specifies the Dockerfile to use, the extensions to install, and the commands to run when the Codespace is created.

## Security (ML)
## Security
The security of our service is ensured by the following measures:
* `Container Registry`: We use Azure Container Registry to store and manage our container images. It provides a private registry for our Docker container images, with support for all types of container deployments. It integrates with Azure Container Instances, it also supports Azure Active Directory for authentication, so we can control who has access to our images.
* `Azure Key Vault`: We use Azure Key Vault to store and manage our application API tokens integrated with Azure Databricks and OpenAI. It provides centralized key management, with access control, auditing, and logging features. It also integrates with Azure Active Directory for authentication, so we can control who has access to our secrets.
Expand Down

0 comments on commit 34e3069

Please sign in to comment.