About my graduation project

TypeScript Socket.IO React.JS MySQL Express.JS
Github
In this article, I would like to write more about my graduation project and share details related to the goals of this application, as well as the difficulties that may arise during development.

Main goal of the project

The main goal of my graduation project was clear: to develop a web application for real-time messaging. This project became a real test for me as a specialist, because in addition to working with various technologies, including TypeScript, React.js, Express.js, Socket.io and MySQL, I had to work on documentation, organizing teamwork and other aspects of a developer's work.

Choosing a project theme

My decision to choose this project topic was driven by my desire to learn about websockets and TypeScript. I saw this as an opportunity to delve deeper into these technologies and apply them to a real-world scenario.

Collaboration and teamwork

I wasn't the only one working on the application. There was 1 more person on the team who was mainly involved in application design and documentation. I took over development leadership. It was a valuable experience working together as a team, even if it was a small team of two.

Definition of the task

The task of the project was quite simple and understandable. The goal was to create a user-friendly web messaging application that would allow people to chat in real time.

Sounds simple, doesn't it? However, this task included many other subtasks - user authentication, registration, password management, profile setup, friend list management and, of course, real-time chat capabilities.

Overcoming obstacles

One of the biggest challenges I faced while working on the project was the lack of time. I had a relatively short period of time to complete the project - 2 months, including planning, creating the application design and documentation. The task was made more difficult by the fact that I had very little knowledge of websockets and TypeScript.

Jira and a responsible attitude to the work helped us solve the problems of organizing work. Thus, We were able to continue working and bring our project to completion.

Development results

As a result, the goal was achieved. All the features have been added including user authentication, profile setup, friends list management and most importantly the live chat feature. We made the application functional and user-friendly.

Conclusion

During development, I honed my time management skills, dealt with the challenges of leading a small team, and gained proficiency in technologies such as TypeScript and Socket.IO.

In conclusion, I want to say that this application was not just the culmination of my training in vocational school, but also a stepping stone towards my career as a developer. It taught me the importance of persistence, adaptability, and the joy of bringing a creative idea to life through code.