App Track is a project built to imagine what a personalized job application tracker would look like. I wanted to take the antiquated system of Excel spreadsheets being used to track jobs a person has applied to, and provide a better alternative that was better organized and could be taken on the go. This user-friendly space is designed specifically for its purpose and features improved tracking, easily sourced information, and customizable fields. This app utilizes the Firestore database to store all user account information and all required information regarding each users’ uploaded applications.
When applying for jobs, many people use Excel spreadsheets to keep track of all the applications they send out. The problem with using spreadsheets for tracking job applications is that they lack versatility and are, arguably, outdated. Let's say you're commuting via the train, to make use of your time you want to apply for jobs on your mobile device. Instead of fumbling around with an 18-column and 50-row spreadsheet with intricate details, you have a dedicated app on your phone that is meant for storing job applications with a straightforward UX and modern UI.
Tech Stack Explanation
I used React-Native for this project because I wanted to further extend my previous knowledge of the framework and also because of my experience with JSX in React. React-Native also perfectly intertwines with the idea of being able to store a list of applied jobs without an Excel Spreadsheet even if you’re not near a computer. I chose to use Redux in this project because I ran into a scenario in which sibling screens needed to share data so I thought it would be an appropriate solution to the problem. I had briefly used Redux in a course project so this was the perfect opportunity to build upon my prior experience. I chose Firestore for the database due to the speed at which an MVP can be created, and also because of the real-time updating data.
I learned many lessons from this project, specifically about state-management and using the Firestore database. I learned about when it is necessary to implement a state management tool, in this case, Redux, and how to properly incorporate it in an application to ensure scalability. Another important lesson I learned was how to integrate the Firestore database with a CRUD application. Firestore can be incredibly beneficial when attempting to achieve an MVP as quickly as possible.