Inspiration
My inspiration for building the State Farm InsuranceApp project likely stemmed from a desire to simplify the insurance process, making it more accessible and user-friendly, especially for students or individuals new to insurance. I may have recognized that dealing with insurance claims can often be a complex and overwhelming task, and this app could streamline that experience. Additionally, my background in Information Technology gives you the tools to design a solution that offers personalized tips, secure data handling, and a seamless interface for submitting claims.
What it does
The State Farm InsuranceApp is a user-friendly application designed to simplify insurance management for users. It allows users to register and securely log in with a password that is hashed for added protection. Once logged in, users can submit various types of insurance claims, including Auto, Home, and Health, by entering relevant details such as descriptions, claim amounts, and additional specific information like license plates or addresses. The app also enables users to view their claim history, providing a clear overview of all submitted claims. Additionally, it offers practical insurance safety tips to help users make informed decisions about their coverage and claims. With data persistence functionality, all user data and claims are saved and retrieved from a file, ensuring secure and reliable access to information each time users log in. The InsuranceApp streamlines the process of managing insurance claims, making it accessible, secure, and efficient for users.
How we built it
I built the State Farm InsuranceApp using Java, focusing on user-friendly functionality and data security. The development process began with designing the core features, such as user registration, login, and claim submission. I implemented password hashing with SHA-256 to ensure secure authentication, safeguarding user credentials. To manage and persist user data and claims, I utilized serialization to save and load the data from files, ensuring that information is securely stored between sessions.
The app’s functionality includes allowing users to submit claims for Auto, Home, and Health insurance. I designed specialized classes for each claim type, allowing users to input relevant details, such as license plates for auto claims and home addresses for home claims. For added convenience, I incorporated the ability to view claim history and added a feature to display insurance tips, offering useful advice to users.
Throughout the development, I utilized Object-Oriented Programming (OOP) principles, which helped in organizing the code into easily manageable components. Key focus areas included building an intuitive user interface through the command-line menu, implementing robust error handling, and testing to ensure that the app runs efficiently while providing a seamless user experience.
Challenges we ran into
During the development of the State Farm InsuranceApp, I faced several challenges. Implementing secure password handling with SHA-256 required meticulous attention to ensure that passwords were correctly hashed and verified during login. Additionally, designing a system to save and load user data via serialization posed difficulties, especially regarding file corruption and version mismatches.
Managing different types of insurance claims (Auto, Home, Health) added complexity, as I needed to create distinct classes for each claim type while maintaining a consistent data structure. Balancing flexibility with simplicity in the user interface was also a challenge, as I aimed to keep the app user-friendly while providing essential features. Overall, thorough testing and debugging were crucial to ensure a smooth user experience.
Accomplishments that we're proud of
As a college senior, I’m particularly proud of my achievements during hackathons, where I’ve not only showcased my technical skills but also developed invaluable teamwork and problem-solving abilities. Collaborating with peers under tight deadlines has pushed me to think creatively and adapt quickly, especially when faced with unexpected challenges. Successfully completing projects that contribute to real-world solutions has been incredibly fulfilling. The thrill of presenting our ideas to judges and receiving positive feedback has reinforced my passion for technology and innovation. These experiences have not only strengthened my coding abilities but also enriched my network and prepared me for a successful career in the tech industry.
What we learned
Throughout this project, I gained valuable insights into building real-world applications from scratch, especially focusing on secure user authentication using password hashing. I also learned how to manage and serialize user data in Java, ensuring that information is stored persistently across sessions. By implementing the claim submission and tracking system, I deepened my understanding of handling multiple object types within collections like ArrayLists. The experience also enhanced my problem-solving skills as I tackled challenges like debugging file I/O operations and ensuring smooth user interactions. Overall, this project reinforced key principles of software design and security.
What's next for Insurance App
Next for InsuranceApp, I plan to expand its functionality and enhance the user experience by developing a mobile-friendly version of the app, allowing users to submit and track claims from their smartphones. I aim to integrate advanced security features like two-factor authentication (2FA) and improve data encryption to better protect sensitive information. Moving to a cloud-based storage solution will enable users to access their account data across multiple devices, providing greater scalability. Additionally, I want to implement a notification system to keep users updated on claim statuses and policy renewals, as well as expand claim management options by allowing users to upload images or documents related to their claims, such as damage photos or accident reports. These updates will make InsuranceApp more efficient and secure, ensuring it grows alongside users' needs.
Log in or sign up for Devpost to join the conversation.