According to the schedule, there is not much to be done for the machine learning aspect of the project until we are able to collect data. In the meanwhile, I worked on the website interface of the project. I set up the Django server which communicates both with the central node and the users. As of now, there is no information to transfer, so I used dummy information.
I spent a majority of my time this week researching the CSRF token. CSRF stands for cross site request forgery. It occurs when a malicious website sends an HTTP Post request from an unknowing user’s computer to another website. Since it is a post request, this can change the state in the other website’s server. This could have consequences ranging from posting information on social media on the user’s behalf without the user’s knowledge to something potentially more dangerous. As a result, it is common practice to send the user a cross site request forgery token. Only the user’s browser has access to this token and it is required to make post requests. As a result, any malicious website cannot post on behalf of the user.
In our project, the only entity to make a post request to the server is the central node, which will not interact with other websites. Thus, it may not require a CSRF token. Additionally, if we require a CSRF token, we would need a two-way communication channel between the central node and the server, since the server will have to send the token. Without the token, we could simplify our design so that the only communications are from the central node to the server. At the time of writing this, I am still in the process of researching. In the next few days, we should have made a decision about the CSRF token.
Next week, I will continue to work on the website. Additionally, if we are able to generate data, I can also start working on the machine learning model.