This project demonstrates the development of a modern web application that utilizes a RESTful API to provide efficient communication between the server and client applications. The application is dockerized, making it easy to deploy and portable across different environments. Hosted on Google Cloud, it offers scalability and reliability to ensure seamless user experience.
The use of JSON Web Tokens (JWT) for authentication ensures secure access to the API, allowing only authorized users to access specific parts of the application. MongoDB provides a flexible and scalable NoSQL database solution for storing user data and posts.
The application features a range of user-friendly functions such as creating and viewing posts, accessing friends' posts, and updating the user's profile picture, username, and bio. These functions enhance the user experience and provide greater flexibility and control.
Overall, this project is a testament to the power of modern web development technologies and best practices, creating a robust and feature-rich application that meets the needs of today's users.
This project showcases the development of a high-performance RESTful API using Node.js and ExpressJS. The framework is lightweight and has a large community behind it, making it a popular choice for building web applications. MongoDB was chosen to store user data due to its flexibility and scalability. PassportJS with JWT Strategy was implemented for authentication, ensuring that user data is secure and confidential.
Jest, a popular testing framework for JavaScript, was used to test the API, ensuring its robustness and reliability.
On the frontend, ReactJS, the most popular frontend library, was used to create a smooth, interactive user interface. CSS was used for styling the application, ensuring a sleek and modern appearance. Tan-Stack React Query was utilized for fetch requests and caching, which provides a powerful and simple caching solution for ReactJS applications.
The use of these technologies and tools demonstrates the project's focus on efficiency, security, and user experience. With its well-designed architecture, this project can serve as a strong foundation for building scalable and reliable web applications.
--- TODO ---