This is a complete full-stack application featuring an RSVP form. To access the form, users must be logged in. Once logged in, users can enter their name and phone number. They are then presented with options to RSVP by clicking "Yes" or "No." Each button click generates a corresponding message on the user interface, indicating whether the user is going or not.
![Screenshot 2023-11-12 at 7 36 42 PM](https://private-user-images.githubusercontent.com/122684139/282336910-fa449efd-b54d-4e4c-8969-064dd507061d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM5MTgxNDUsIm5iZiI6MTcyMzkxNzg0NSwicGF0aCI6Ii8xMjI2ODQxMzkvMjgyMzM2OTEwLWZhNDQ5ZWZkLWI1NGQtNGU0Yy04OTY5LTA2NGRkNTA3MDYxZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxN1QxODA0MDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zYTM1NzY3MzE4ZWMwNWRjNDljMGIxNjkwYTk5YjNkM2IwZWQxMmRmZDhiZGYyOTc4NjNhMDM3OWJlMGJkNWZhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.1GMb0jm3NgT9CTtxFNSxFAO6hs0UkSwpRhhQdzBSvv4)
The RSVP Form Application is built using the following technologies:
- Node.js: Utilized for server-side development.
- JavaScript (JS): Employed for both client and server-side functionality.
- APIs: Integrated to enhance the application's features.
- MongoDB: Used as the database to store user RSVP data.
The core functionality is implemented on the server side using CRUD (Create, Read, Update, Delete) operations, enabling the handling of user RSVP data. On the client side, event listeners are employed. Users initiate CRUD functions by clicking buttons on the interface.
Key Packages Used:
- mongoose: Facilitates interaction with MongoDB.
- passport: Handles user authentication.
- express: Provides a framework for building the web application.
The dynamic nature of this website allows users, after submitting the form, to interact with the server for both read and update operations. The user interface updates in real-time, displaying RSVP status. Users can modify their response by clicking "Yes," "No," or even delete their entry directly.
Developing the RSVP Form Application has provided valuable insights:
- Code Organization: Breaking down the code into manageable chunks is crucial, especially in larger and complex files.
- Node.js Modularity: Understanding how Node.js and its files work modularly is essential.
- Foundational JavaScript Knowledge: Despite the complexity, the development process remains relatively straightforward with a solid foundation in JavaScript.
- Real-time Dynamic Web Development: Building a dynamic website with real-time updates requires a careful balance of client-server communication and conditional logic.
Taking a methodical approach and understanding the modular nature of Node.js files have proven effective in navigating the intricacies of this full-stack application.