Inspiration for this project stemmed from my wife's experiences in the recruitment industry, where she lamented the shortcomings of her company's outdated website. This served as the catalyst for creating a modern recruitment platform designed to address these issues, particularly by enabling users to apply for jobs online and streamline the inclusion of their personal details. On the website, users can explore available job positions and employ a keyword search feature to find specific job listings. To apply for a job, users are required to create an account, which allows them to input their personal information and upload their resume. This approach simplifies the process for recruitment personnel, aiding them in identifying suitable candidates for job openings. Users can conveniently track their job applications and overall activity through their user profile page.
I initiated the project by establishing a robust database to store job information and user accounts. To visualize the website's structure, I began by creating basic HTML templates, providing a visual representation of different webpages. Gradually, I integrated essential website functionalities, including application forms for job submissions, user profile information input, job pagination, keyword search, and page navigation. Once the core website features were implemented and fully functional, I applied CSS styling and integrated Bootstrap elements to enhance its overall appearance and usability.
Throughout the development journey, I encountered various challenges, each presenting an opportunity for growth. Some of the challenges included overwriting user resumes, implementing user authentication, handling post requests, slugifying job titles with the same name and general frontend design. I successfully overcame the replacement of old user resumes by using signals to delete the old resume with the new one. I handled user authentication by studying online tutorials and documentation on Django's built-in user authentication system. Handling post requests took repetition and again studying tutorials on proper execution. Some job titles were the same which meant that the URL slug was required to be different. This required some problem solving to create a unique slug if one did not already exist. Frontend design is a working progress for me as my main goal is backend development. I continue to learn CSS, utilize Bootstrap and focus on consistent colours and patterns throughout my web pages.
For future iterations of this project, I would consider implementing the following enhancements. Employer Backend: Develop a dedicated backend for recruiters, facilitating easy access to user accounts, enabling them to identify potential candidates, and efficiently review resumes submitted for different job openings. This feature would significantly streamline the recruitment process and improve candidate selection.