Skip to content

Commit

Permalink
Add badges to root readme
Browse files Browse the repository at this point in the history
  • Loading branch information
rawanmahdi committed Nov 4, 2023
1 parent 0885951 commit 28051ca
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 52 deletions.
4 changes: 0 additions & 4 deletions .all-contributorsrc

This file was deleted.

52 changes: 4 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
# AutoMate-ML
<!-- TODO: add in repo badges once project starts-->
![Google Cloud](https://img.shields.io/badge/GoogleCloud-%234285F4.svg?style=for-the-badge&logo=google-cloud&logoColor=white) ![Kubernetes](https://img.shields.io/badge/kubernetes-%23326ce5.svg?style=for-the-badge&logo=kubernetes&logoColor=white) ![Terraform](https://img.shields.io/badge/terraform-%235835CC.svg?style=for-the-badge&logo=terraform&logoColor=white) ![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white) ![GitHub Actions](https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge&logo=githubactions&logoColor=white)

## Contributors

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

![Figma](https://img.shields.io/badge/figma-%23F24E1E.svg?style=for-the-badge&logo=figma&logoColor=white) ![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB) ![Next JS](https://img.shields.io/badge/Next-black?style=for-the-badge&logo=next.js&logoColor=white) ![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=for-the-badge&logo=fastapi)

## Contributors


## About the Project
Expand All @@ -21,20 +13,10 @@ Automation has been making its way into all industries and services, including m

> "AutoML enables developers with limited machine learning expertise to train high-quality models specific to their business needs. Build your own custom machine learning model in minutes."
That sounds really hard to develop tho! Do not fear... for python libraries exist to make everything easier on us. This project does not require you to have background in ML, however, be prepared to gain some! We will also be working on a good amount of front-end/back-end development to push out user interface in the form of a web application. We will start off developing a minimum viable product using python libraries, like streamlit, pandas, and pycaret to do all the heavy lifting for us, and then iteratively build upon the project adding more custom features and tools to the tech stack. Python will just be our starting point; however, we will expand out into other languages/tools depending on our projects direction and our team member's interest/skills.

## Projected Roadmap
| Sprint Number | Goals |
|-----------------|---------|
|1| Minimum Viable Product: Streamlit powered data app |
|2-4 | Improve user interface by swapping out streamlit for JavaScript/HTML/CSS/Flask or other more powerful web dev tools
|2-4|Integrate Google Cloud's Vertex AI AutoML service to provide more accurate models |
|5 and beyond | More features that we'll come up with as a team!

On a week-by-week basis, we will be tackling this broad roadmap through a list of specific tasks/features each contributor will take on. See the [open issues](https://github.com/DSC-McMaster-U/Auto-ML/issues) for a full list of proposed features and issues.

### Agile Development
To give us all a taste of :star2: real :star2: software engineering, we will be mimicking an agile development environment with this project, having weekly(ish) sprints to push out small features. Features will show up as issues and will each get assigned to an individual at our weekly scrum. Since we are mimicking a professional dev team, we want to follow python (or other languages) style conventions defined [here](https://peps.python.org/pep-0008/), and we'll be using pylint (a static code analysis library for python) to ensure the code meets best practices. We also want to implement unit testing, so each time you want to submit a feature PR, we will require you to implement testing (try to maximize coverage using python's coverage library). We will not require unit testing of PRs where it would be unhelpful/redundant.


## Project Challenges
Below is a list of challenges that we'll try to address over the course of our project, after developing our MVP. Some of them reflect industry level challenges involving ML services. They may show up as features/issues throughout our project, depending on what stage we're at.
Expand All @@ -47,32 +29,6 @@ Below is a list of challenges that we'll try to address over the course of our p
- Build our own automated model training service using PyTorch, i.e. implement the service from scratch - this will require members to have knowledge in ML and familiarity with PyTorch
- Incorporate Federated Learning: this is related to maintaining user privacy with cloud training. Federated learning has been a hot topic in ML so it'd be great for us as devs to get our hands on it. Check out [this](https://federated.withgoogle.com/) comic made by google to learn a bit more about the benefits of federated learning. Read [this](https://blog.research.google/2017/04/federated-learning-collaborative.html?m=1) google blog post to learn more if you're interested

## What you'll need to contribute:

### Github
Hopefully you're already accustomed to working with git, as it we will be hosting our project right in this repo. You should know how to clone a repo, commit changes, push and pull to the remote repository. You should also familiarize yourself with making pull requests, as that will be how you contribute to this project! If you've never made a PR, please complete [this](https://github.com/firstcontributions/first-contributions) tutorial and adopt the practice of making a branch to commit to any time you want to make a PR. More details on how we'll be organizing our project will come soon!

### Other Dependencies
We'll start off with a fully python project, so if you don’t already have python installed on your machine, download [here](https://www.python.org/downloads/) and set up a development environment - VS code is recommended but use what ever you like!

To install the python libraries we'll be using for our MVP, run the below command in the directory containing this repo on your machine:

```sh
# Can be py or python3 depending on your system
python -m pip install -r requirements.txt
```

You're free to add to the requirements.txt file if you run into any new libraries you want to add to the project. You're also free to change the version number if you run into conflicts involving the libraries, as some of them may be dated/deprecated. To add to the requirements.txt file, on a new line in the file, simply add the install name of the project followed by '==' followed by the version number, like:

`pycaret==3.0.4`

## Resources for MVP

### Streamlit data app

https://www.youtube.com/watch?v=ApxEBGbqTyQ&ab_channel=DataProfessor

https://www.youtube.com/watch?v=xTKoyfCQiiU&t=1196s&ab_channel=NicholasRenotte



Expand Down

0 comments on commit 28051ca

Please sign in to comment.