Yuxuan’s Status Report for 2/24

Progress

This week I reviewed and discussed with my team all the feedback on our design presentation and made note of what we need to address in our design report. I also came up with an initial outline for our design report and divided up the work with my teammates.

I also started working on our web app development by defining our models and forms. I also built the basic pages in html. The next thing is to put the pages together in views.py.

 

Schedule

I am a little bit behind schedule due to midterms, but I will catch up next week.

 

Next steps

Next week I will focus on writing the design report with my team. I will be responsible for design requirements, part of design trade studies, test, and project management sections. I will also continue with linking our web app pages.

Yuxuan’s Status Report for 2/17

Progress

This week I discussed detailed control flow of our app with Tianyi and came up with the model-view-control (MVC) framework for our Django app.

Models:

Expense:

  • Time: DateField
  • Amount: FloatField (two decimal places)
  • Description: CharField

Category:

  • Name: CharField
  • Color: CharField
  • Expense: ManyToManyField

Main pages (html files):

  • html (with tabs at bottom and audio input button to be extended by other pages)
  • Home (contains a form to enter a new spending entry)
  • Spendings (list of entries)
  • Financial report

Some main controls in view.py:

  • Home_action (render home page)
  • Create_entry
  • Generate_report
  • Modify_entry
  • Add_category
  • Read_report

To prepare for the design presentation next week, I specified the testing process with input, expected output, and  expected result. I also updated the schedule based on changes in implementation design and created a product picture showing the hardware components we use.

Schedule

I am on schedule.

Next Steps

Next week I will start building our web app by setting up the three main pages and work towards a complete money tracking app without audio input first. I will also work on the design report and set up the Raspberry Pi with the team if we can receive the necessary components next week.

 

Team Status Report for 2/10

Risk Mitigation

For now, we focus on selecting the most suitable NLP model for parsing the text and classifying the item name, which is critical for correctly generating the entry, a key feature of our product. We compared across models for matching commands, identifying elements, and classifying words and settled on spaCy and word2vec for these tasks. There are also backup libraries if the selected ones don’t work out. We will start working on spaCy and word2vec next week to make sure they work as expected before the design presentation.

Design Changes

We replaced random forest model with word2vec for classifying item names because random forest requires feature engineering and is thus more suitable for classifying whole sentences or paragraphs. We will reflect this change on our block diagram for the design presentation/report.

Updated Schedule

No updates to the schedule. Next week we will address the comments on our proposal presentation provided by TAs and peers, discuss hardware order requests with faculty, design MVC framework for our Django web application, and run tests for every model/library we want to use as part of the speech recognition/NLP process on our laptop before the design presentation.

Yuxuan’s Status Report for 2/10

Progress

The week I did proposal presentation for my team on Monday. In preparation of that, I was responsible for testing, division of labor, and schedule parts of the presentation, and I discussed all other parts with my teammates.

Later this week, I researched and made a list of all hardware components we need to order or borrow from the ECE inventory. I chose Raspberry Pi 4 Model B 4GB RAM as our single board computer along with all the accessories compatible with RPi 4. After discussion with team, we decided to order a touch screen with speaker for RPi display and a USB microphone for audio input. I filled out the request forms for all components.

I also looked into the model for classifying product name to categories: our original approach was using random forest, but with further investigation I found that random forest might not be best suitable for the task; instead, we now want to use the word2vec model to group similar or related words together, so that if initially given the classifications of some sample words, the model is able to map new words into correct categories based on the distance between new words and the sample words in the vector space.

 

Schedule

I am on schedule.

 

Next Steps

Next week I will focus on testing out the viability of our selected NLP models on the laptop with my team. We will also design the MVC framework for our webapp as well.