I. Project expected planning and actual progress
NO. | Time | Plan | Principal | Reality |
1 | 2023.12.7-12.10 | Friends List Enhancement | Wang Zhengxian, Zou Yijie, Wen Zongyan | Completed |
2 | 2023.12.10-12.13 | Realize add friends and chat function | Wang Zhengxian, Lin Chenwei, Chen Kun Fang Guangxian | Completed |
3 | 2023.12.12-12.14 | Beautify the user interface, design the APP icon | Wang Xinyi | Completed |
4 | 2023.12.10-12.15 | Second-hand trading platform and confession wall | Fang Guangxian Wang Xinyi, Zou Yijie | Incomplete |
5 | 2023.12.11-12.13 | Servers connected to the front and back ends | Wu Zhenkun, Qiu Weixiang, Yu Yuxin | Completed |
6 | 2023.12.12-12.15 | Test the functions | Yuan Chengrui | Completed |
II. Experience of the project
Members | Experience |
---|---|
Wangxinyi | Overall, the process was exhausting. About the UI interface, I used unity's own ugui, I was rusty with some of the controls before, but I was able to use them proficiently after learning from the last afa test. I changed some fonts, font boxes, and background images to be more aesthetically pleasing. Also I hand-drew and designed the icons of our app, which I think is a feature. The other hardest thing is that I didn't implement the second hand trading platform and the confession wall, I tried a lot of ways but it's not satisfactory, the technical knowledge involved in these two features is really hard to learn. Plus quizzes, various experiments, physically and mentally exhausted ah! |
Fangguangxian | By adding the disconnect reconnect feature to the client, I gained some valuable experience and feelings. I realised that disconnection issues in network communication are very common, especially on mobile devices. So I proposed to add this feature. By implementing the disconnect and reconnect feature, I was able to handle these situations better, improving the user experience and the stability of the software. |
Wuzhenkun | In this project, I am responsible for setting up the front and back end communication of the buddy system. We use the remote communication protocol Socket to implement the communication between the client and the server. The client passes the interface name, method name and parameter serialisation to the server via a socket call. The server does the deserialisation and then uses reflection to call the appropriate methods and return the results to the client. Prior to this, I knew nothing about this. It was only on the advice of the technical team leader and after many attempts with other servers that we chose this approach. Being able to gain new knowledge again feels |
Qiuweixiang | Through this process, I learnt a lot about network communication and data transfer and skills. I gained an in-depth understanding of how the socket communication protocol works and learnt to use reflection calls to transfer data. I also learnt to handle concurrency and exceptions, and how to debug and test. Overall, I am very pleased with the results I have achieved in the front-end and back-end communication aspects of the Buddy System. This process has allowed me to become more familiar with software programming practices and improve my technical and problem-solving skills. |
Wenzongyan | I learnt how to do data storage and reading and how to implement user authentication features. In the buddy list, I need to store the user's buddy information in the database and ensure that only authorised users can access and manage the buddy list. Through study and practice, I have learnt the skills of using databases for data storage and reading, as well as how to implement user authentication features to ensure that only legitimate users can access the buddy list. |
Yuyuxing | I learnt how to do code management and version control. In the group project, we used Git as a version control tool, which allowed us to easily manage and track changes to the code. I learnt how to use Git for code commits, merges and branch management, which is important for team collaboration and code stability. |
Chenkun | I learnt how to handle user interaction and communication functions. In the friend list, users can add, delete and search for friends, which required me to design the appropriate user interactions and implement the appropriate functions. I also learnt how to use network communication techniques to ensure that the buddy list is synchronised and updated across devices. |
Yuanchengrui | In this project, I was mainly responsible for software testing. During the beta sprint, I followed the development team to test various aspects of the project, such as functionality, interfaces, integration, etc., in order to help the team complete the task before the target date. In this beta sprint, I realized the importance of teamwork and coordination. Through our team's cooperation, we overcame technical difficulties and ultimately completed the project, which gave me a great sense of achievement. |
Wangzhengxian | I was mainly responsible for the technical part of the project, but the programming software unity I set at the beginning was a bit difficult and the group members were not very familiar with it, so I needed to teach them. But I'm not a very communicative person, so my group members, especially the team leader, had a hard time communicating with me. It's a pity that our second hand trading and confession wall functions were not realised in this project. |
Linchenwei | I have also encountered some challenges and problems in software programming. For example, we encountered some technical difficulties during the development process, which required some time and effort to solve. However, through discussion and co-operation with our team members, we eventually overcame some of the difficulties. This made me understand that it is normal to encounter problems in software programming, and the key is to have patience and teamwork spirit to actively find solutions. |
Zou Yijie | I learnt how to handle user interaction and communication functions. In the friend list, users can add, delete and search for friends, which required me to design the appropriate user interactions and implement the appropriate functions. I also learnt how to use network communication techniques to ensure that the buddy list is synchronised and updated across devices. |
III. Collaboration and workload distribution
832101201_21124477_Wangxinyi | UI design, second-hand trading function, Summary blog | 9.1% |
832102204_21125929_Fangguangxian | Realize add friends and chat function, Confession wall function | 9% |
832102208_21126917_Wuzhenkun | Servers connected to the front and back ends, Third blog | 9.1% |
832102209_21125309_Qiuweixiang | Servers connected to the front and back ends, Second blog | 9.1% |
832102228_21126895_Wenzongyan | Friends List Enhancement, defense PPT | 9% |
832102222_21125414_Yuyuxing | Servers connected to the front and back ends, First blog | 9% |
832102218_21125261_Chenkun | Realize friends, chat function, User survey report | 9.1% |
832102223_21126348_Yuanchengrui | Test the functions, Test blog | 9.3% |
832102211_ 21124744_Wangzhengxian | Realize friends, friend lists, chat function | 9.2% |
832102220_21126496_Linchenwei | Realize friends, chat function, Code Standards, Sprint Tasks, and Plans | 9.1% |
832102210_21126909_Zouyijie | Realize registration, login, send mail function, Summarizing issues in the alpha stage--code craft | 9% |
IV. Result Dispaly
This icon was designed by our group members and is full of warmth and energy. The main colour is orange, which gives people a positive and sunny feeling. The two letters "SD" in the icon represent the name of the app "student buddy", which is simple and full of personality. Through this icon, it conveys the idea that the app is committed to providing students with a friendly and mutual-help social platform. This icon not only attracts users' attention, but also leaves a deep impression in users' mind. The purpose is to let users whether on the mobile phone desktop or in the app shop, this icon will make people can not help but want to click into, to experience this warm and interesting social world.
完整APP展示
V. Conclusion
During the beta testing process, our team successfully implemented the basic design of the front-end UI of the chat page, including interface layout, colour scheme and element typography. The implementation of the chat function has also made some progress, users are able to send and receive messages, and the messages are displayed correctly on the interface.
In addition, we also successfully implemented the add-friend feature, which allows users to add new friends by searching or scanning the QR code, and to see the added friends in the friend list. The implementation of this feature has played a positive role in increasing social interaction and user experience.
During the testing process, we also found some vulnerabilities in the database and patched and strengthened them accordingly. This ensures user data security and privacy.
However, due to various reasons, we were unable to implement the two functions of second-hand trading platform and confession wall in this test. This may be due to time and resource constraints, or technical difficulties. Nonetheless, we are satisfied with the results we achieved and are proud of the work we did on the chat page, the add friends feature and the database bug fixes.
Through this test, we also realised our shortcomings in project planning and resource allocation. We will learn from this experience and do a better job of project management and teamwork so that we can be better prepared for similar challenges and issues.