Devember 2021 - Create a smart grocery shopping app using machine learning techniques

Hello Level 1 forums. I have been a long time reader/fan of the channel, but this is my first time posting. I have decided to join Devemeber this year as way for me to take on some new learning. For my project I plan to create a simple grocery list web application. As users create lists I want to be able analyze previous data and make suggestions using some machine learning techniques.

I currently have 3 years of .NET and Angular development experience with my current job and I’m looking to expand my programming knowledge. So for my project I will be writing the back-end API in Rust and the client application using Angular. I also want to take some time to learn how deploy and host applications on Linode as I’m new there as well.

I’m currently planning to create weekly post with goals and user stories. I’m hoping this will allow me to provide better updates and take a kind of agile approach to development.

I’m excited to get started and hope to get some good suggestions/feedback as I learn new technologies. I will provide a link to my git repository as soon I have everything setup.

Devember Goals:

  • Learn Rust programming
  • Learn machine learning algorithms
  • Learn the basics of Linode
  • Have a working program by the end of Devember

Technology Used

  • Angular (Front-end framework)
  • Angular Material Components (Styling framework)
  • Rust (Back-end programming language)
  • Rocket (Web framework for Rust)
  • Diesel (ORM for Rust)
  • MySql (Database)

Week 1 Goals

  • Create a Git Repository
  • Setup a development environment in Linode
  • Create some sort CI/CD pipeline so that my development environment is always up to date
  • Setup a basic version of the web application (just simple html no API calls yet)
5 Likes

Update 1 - 10/26/2021


Hello Level 1 Forums! In my first week of development I was able to start a basic Angular project with a few mock up pages. I then pushed those changes to GitLab (see link below) where I have a CI pipeline created. Currently the CI pipeline only builds the Angular app, but this week I plan to use it to deploy changes to Linode. For my GitLab setup I have created a Devember group that currently houses my repository for my Angular app as well as my api repository. I chose to create a group to hold several repositories as I plan to organize my back end code into individual crates.

Along with the GitLab setup I also setup my dev server in Linode. Currently this is only hosting the welcome page that I create in Angular. I will share the link when I have more content deployed.

As for this week I am planning to create my database schemas and then setup my tables. I also plan to create a user login and signup route so that user will be able to authenticate and access the app. This may take a little bit of research as I need to learn how to create sessions and route guards with Rocket.

Week 1 Goals

  • Create a Git Repository :ballot_box_with_check:
  • Setup a development environment in Linode :ballot_box_with_check:
  • Create some sort CI/CD pipeline so that my development environment is always up to date :ballot_box_with_check:
  • Setup a basic version of the web application (just simple html no API calls yet) :ballot_box_with_check:

Week 2 Goals

  • Build the SQL database ☐
  • Build users api routes ☐
  • Allow users to signup, sign in and setup authentication guards. ☐

GitLab Link: https://gitlab.com/d2338

Linode Link: Coming Soon

1 Like

I am looking forward to watching this project develop. Good luck!

1 Like