What did you personally accomplish this week on the project?

  • Dockerize Server
    • A large portion of my work this week involved placing the webserver in a docker container. As discussed in the previous week’s report, this is beneficial for a variety of reasons. Primarily, each of the groupmates are running different operating systems on their respective computers, and while python does seem to generally do a good job of keeping functionality platform agnostic, there are other components to our webserver which must be directly installed without python (such as nginx). Additionally, we are getting a long-awaited chunk of time where we can focus on implementation rather than written proposals and reports, which means my groupmates will soon get to the point where having the ability to test their code on the full server is useful. Once this time comes, it will be substantially easier to get their code running on a standard platform such as Docker, than forcing them to debug unfamiliar code pertaining to a subject they do not know much about.
    • This week, I implemented a “production” and a “debug” variant of our project’s docker container. The “production” container, once built, should be able to immediately start running and serving clients. This will be good for when we want to eventually ship our product, though it presents some problems while the product is still in development. Namely, we are forced to either develop code completely within the docker container environment, or wait 10 minutes for the docker container to rebuild, and re-install dependencies every time we change the code. In order to solve these problems, I also created a “Debug” version of the docker container. This version drops the user into the shell when you run it for the first time, instead of directly running gunicorn. This is helpful because instead of having to stop and restart the docker container every time you change the source code (you need to rerun gunicorn for changes to be shown), we can rerun the gunicorn and stop it when we need. Additionally, our local computer’s file system is mapped into the docker container, meaning we can edit our code locally, and have our changes appear in the docker container, rather than having to attach VSCode to the docker container to edit files. These containers will hopefully streamline development for my groupmates, and create a consistent environment on which to write our code.
  • Begin Implementing Authenticated Requests
    • I had a bit of time left over after dockerizing our server, and began adding authentication to our webserver. I have begun researching what is necessary to ensure only authenticated users can send requests to the server, as well as how certain methods could be implemented within the framework we chose for our webserver.
  • Design report
    • A substantial portion of the week’s work involved creating the design presentation. Our report wound up being longer, and taking longer to write than expected so not much else was done during the week of October 7th.
  • Ethics Assignment
    • This week, I also spent some time completing the ethics assignment. I do not imagine I did anything particularly different from my peers and groupmates.

Is your progress on schedule or behind? If you are behind, what actions will betaken to catch up to the project schedule?

Our progress should be on schedule for this week. Not that we have a better grasp on implementing what we need to eventually complete our project, our group should meet to re-evaluate the feasibility of the initial goals we set out to achieve, and whether slightly modifying our goals might lead to a better or more impressive final result.

What deliverables do you hope to complete in the next week?

Next week, I hope to continue implementing authentication for the web server. Some more research will still need to be done into the possible methods and mechanisms of authentication, but I imagine I will at least have a subset of the necessary authenticated interfaces ready to go. Additionally, I imagine there will be some amount of work that will need to be done regarding facilitating sharing the use of our group’s computing resources, so I may look into how to set up our raspberry pis in a way that any group member can ssh into one.


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *