Introduction My task involves upgrading a website to incorporate user registration, login functionality, personalized greetings, and security measures. This means I need to implement features like user data validation, persistent storage of registration information, encrypted password storage, and personalized user experiences. Additionally, I have specific individual requirements to fulfill, such as encrypting passwords, enforcing password criteria, suggesting strong passwords during registration, tracking login attempts, and displaying the number of logged-in users. Collaboration with my partner, if applicable, is crucial for implementing all individual requirements and ensuring the overall success of the upgraded website. Throughout the development process, I prioritize clean code, effective data validation, modularization, and an intuitive user interface design. Additionally, thorough testing of the application against various scenarios is essential to ensure that it meets all functional requirements and maintains security standards.
From this assignment, I’ve learned a great deal about developing secure and user-friendly web applications. Implementing user authentication and security measures like password encryption and case sensitivity has shown me the importance of safeguarding user data and ensuring the integrity of the application. Additionally, persistently storing user registration information has been crucial for enabling seamless login experiences and maintaining user accounts. Personalizing user experiences by greeting users by name and customizing content based on their preferences has highlighted the value of tailored interactions in enhancing user engagement. Through modularizing my code and organizing it effectively, I’ve realized the importance of creating maintainable and scalable applications, which fosters good coding practices and facilitates collaboration with team members. Conducting user acceptance testing has been instrumental in identifying and addressing bugs and usability issues, enhancing the overall quality of the software. This assignment has also reinforced the importance of continuous learning in technology, as I encountered challenges that required researching and learning new concepts and techniques to overcome them. Overall, this experience has equipped me with essential skills for developing secure, personalized, and user-friendly web applications in my future endeavors.
I did not work with a partner on this assignment, but I did receive assistance from Bode Asamoto. While we did not collaborate directly on the project, we shared ideas on how to fix our respective code and provided mutual support in understanding certain concepts or resolving issues. Additionally, I sought help from others around me, including alumni from Delta Sigma Pi, who offered guidance and assistance in areas where I needed clarification or help with troubleshooting. Overall, while I did not have a formal partner, I benefited from collaborative efforts and support from peers, contributing to the successful completion of the assignment. As such, I estimate that I contributed 100% of my effort to the assignment, with additional assistance from Bode Asamoto and others.
When I needed assistance, I reached out to various sources for help. Primarily, I asked for guidance from individuals within the ITMA (Information Technology Management Association) and DSP (Delta Sigma Pi) communities. These peers provided valuable insights and advice on troubleshooting issues within my code. Specifically, I sought help with verifying email and password inputs and implementing a pop-up notification to alert users if their credentials were incorrect. Through collaborative discussions and sharing of expertise, I was able to gain a deeper understanding of these concepts and successfully address the challenges I encountered in my project.
Developing this assignment differed from assignment #1 primarily due to the emphasis on user verification and login functionality. Unlike assignment #1, where the focus was on creating a basic website with product display and purchasing capabilities, this assignment required implementing user registration, login forms, and personalized experiences. One significant challenge I encountered was with the verification process for the registration page. Despite my efforts, I found it difficult to achieve the desired functionality, leading to frustration and setbacks in the development process. Additionally, creating a login system that synchronized with the shop added complexity to the project, as it required securely managing user credentials and implementing authentication mechanisms. Overall, the focus on user authentication and verification in this assignment presented unique challenges compared to the product-centric nature of assignment #1, highlighting the importance of robust security measures in web application development.
Based on my estimates, I spent the majority of my time on testing and debugging, which accounted for approximately 50% of my overall effort. Writing code consumed around 30% of my time, while thinking about how to approach tasks and challenges took up approximately 10% of my time. I found it crucial to invest significant time in testing and debugging to ensure the quality and functionality of my application. Similarly, allocating time for planning and strategizing before writing code helped streamline the development process and minimize potential roadblocks.
I found this project to be quite challenging overall, and unfortunately, I didn’t feel like anything worked well for me. It seemed like every time I inputted something, I had to go back and fix my code again and again. The process became frustrating, especially when the simplest parts, like creating the login page and registration form, were the only ones that seemed to work smoothly.
The more complex functionalities, such as user verification and synchronization with the shop, were where I encountered the most difficulty. It felt like I couldn’t quite grasp these concepts, and no matter how much I tried, I couldn’t get them to work properly.
Despite these challenges, I did learn a lot from the experience. I realized the importance of breaking down problems into smaller, more manageable tasks and seeking assistance when I needed it. Additionally, taking breaks and stepping away from the project helped me gain a fresh perspective and approach the problem with renewed energy.
While this project was tough, I know that encountering difficulties and learning from them is part of the development process. I’m determined to keep improving my skills and overcoming obstacles, even when things don’t go as planned.
If I could go back in time and do things differently, I would prioritize allocating more time to this assignment. Unfortunately, during the period when I was working on it, I was also juggling responsibilities such as preparing for three presentations: one for this assignment, another for a Delta Sigma Pi banquet planning, and the third for the semi-finals of a case competition. In hindsight, I would have scheduled my time more efficiently to ensure I had sufficient dedicated periods for working on this project without distractions. Additionally, I would have sought support from my peers and instructors earlier on to address any challenges I encountered, rather than trying to tackle them all on my own.