This summer break is the most confusing summer break for me. Due to the COVID-19, the flight I bought is canceled. For this reason, my schedule for the summer break is all in mess. And now, there are only four points in my daily life: bed, table, kitchen, bathroom. So, the only thing I can do is to finish this research project perfectly.
There are two parts in this research log: What I Did & What I will do in the future.
2. What I Did
First, my project is a solution to have better communication between doctors and patients. For example, a patient may have different diseases, and different diseases may be treated by different doctors. So our project will give a better way of communication in these cases.
So let's talk about project progress in these weeks.
I. In the Previous Weeks
In the previous weeks, I designed and coded the basic function of the Main page, Login page, and Sign up page(Although the Login page was redesign this week by others.
II. Last Week
I design the Main menu last week. You can found a demo below. In the Main menu, there is a scroll bar of messages at the top part of the screen. The message comes from the Local File and its composition with an easy understanding format. It spent lots of time coding and there are a lot of errors when I coding(Now It works successfully). After the message part, there is a user avatar and four menus below. I mean, designing a program is a happy thing, but DEBUGGING is NOT.
3. About the Future
I suddenly realized that my work of these weeks is not very valueable...
I just designed some pages and coded some basic functions. The most important things --- the Network and Database- do still not start.
All right, I think I should write something for the project.
I. Project Architecture
First, I have taken the exam of AWS Architect（and failed). But I didn't forget the knowledge of project architecture. Here is a common architecture of project.
So, this is a basic C/S(Client/Server) architecture.
In this architecture, databse server only allows Web server to connect with it. Compare to the mode that app connect database server directly, this way will be more safe to the data. And with web Server, we can manage the user and data more conveniently.
For this reason, we also need to design the application of Web server.
And here is my idea about the app: we use the JSON file to transfer the data to the server. In the signup page, I have already set up the function to generate the JSON file(but without encryption). At the same time, we use the ROOM database to record user health and upload this information at a specified time.
Cryptography is a very complicated subject, but the good news is that our predecessors have left us with many mature solutions, such as AES-256.
From this, I write some suggestions on encryption:
- Do not store the plain text directly into the SQL server, so even if someone has obtained the information in the SQL server, it cannot be easily used.
- During the connection, SSL/TLS is used. In layman's terms, it is to replace HTTP with HTTPS. Because it has encryption measures during transmission, it will be more secure.
- Delete unnecessary sensitive information in time. Even more secure encryption measures are cracked by this method (depending on the resources invested, so the best way is to not have sensitive information that may cause trouble but is not needed.
All in all, this is a good opportunity. But it really improved my computer skills (Android development and server configuration). In the next few weeks, I will continue to update what I do and think Although these things are very simple for the expert, and can even be regarded as naive, for me personally, it may be of extraordinary significance.