Building a Real-Time Recommendation Web App with Go, React, and PostgreSQL
Zhang, Hao (2025)
Zhang, Hao
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025053018361
https://urn.fi/URN:NBN:fi:amk-2025053018361
Tiivistelmä
This thesis focuses on the development of a functional, real-time recommendation web application using Go, React, and PostgreSQL. The developed application, called "PetPals", acts as a prototype for a special online place helping pet owners connect based on location and shared interests. This work comes from seeing a gap where large social media is too general for pet owners' needs, even though pets often help people socialize. It was also driven by a practical interest in web development.
This thesis is functional, meaning a working application was built alongside the writing. The written part includes several sections. First the theory behind the main technologies used, like the Go language, the Gin framework, PostgreSQL for the database, React with TypeScript for the frontend, Zustand for state handling, and WebSocket/Socket.IO for real-time parts. Then the methods used during the project are explained, like the iterative approach to development and using tools like Git and VS Code. Success criteria and research questions were defined in the initial stages of the project to check if the goals were met. Key parts of the application's design and code are also described.
Regarding outcomes, the PetPals prototype application was successfully built. It shows how the chosen technologies can work together. The core features implemented were: user registration and login using secure Bcrypt password hashing and JWT sessions, user and pet profile management, photo uploads, location-based pet recommendations, connection handling between users, and a real-time chat interface. These features were evaluated against the success criteria defined earlier.
Overall, this project used a combination of modern web technologies and development practices. It shows how Go, React, PostgreSQL, and real-time tools like WebSockets can be put together to build a useful and interactive web application designed for a specific community need, in this case, helping pet owners connect.
Keywords React, Golang, PostgreSQL, WebSocket, Web Application
Pages 61 pages
This thesis is functional, meaning a working application was built alongside the writing. The written part includes several sections. First the theory behind the main technologies used, like the Go language, the Gin framework, PostgreSQL for the database, React with TypeScript for the frontend, Zustand for state handling, and WebSocket/Socket.IO for real-time parts. Then the methods used during the project are explained, like the iterative approach to development and using tools like Git and VS Code. Success criteria and research questions were defined in the initial stages of the project to check if the goals were met. Key parts of the application's design and code are also described.
Regarding outcomes, the PetPals prototype application was successfully built. It shows how the chosen technologies can work together. The core features implemented were: user registration and login using secure Bcrypt password hashing and JWT sessions, user and pet profile management, photo uploads, location-based pet recommendations, connection handling between users, and a real-time chat interface. These features were evaluated against the success criteria defined earlier.
Overall, this project used a combination of modern web technologies and development practices. It shows how Go, React, PostgreSQL, and real-time tools like WebSockets can be put together to build a useful and interactive web application designed for a specific community need, in this case, helping pet owners connect.
Keywords React, Golang, PostgreSQL, WebSocket, Web Application
Pages 61 pages