Developing Devjobs

Developing Devjobs

My team and I realized that most job boards out there are for professionals in all fields of work. Why not create one that will serve people in IT only we thought. That was how the idea of Devjobs was birthed. Devjobs connects software developers, Engineers, Site Reliability engineers and all careers in tech to job opportunities across the world even with their varying levels of experience. We've built the application to enable users to do the following:

  • Be able to filter jobs on the index page by title, location, and whether a job is for a full-time position.
  • Be able to click a job from the index page so that they can read more information and apply for the job. This allows users to gain insights into the job.

  • Be able to view the application in both dark and light modes. The light and dark mode makes the application easy to use as the user switches to any mode that suits him. That means you can visit our application without concern for too many light reflections.

Meet the Team

  • Oluwakemi Omoyeni - Oluwakemi is an ALX SE student, cohort 9 from Nigeria. She developed the frontend for the application and the landing page using the APIs provided using Vue.JS

  • Mumbua Mutuku - Mumbua is an ALX SE student, Cohort 9 from Kenya. She wrote all the backend scripts that made job creation, update, deletion and display possible using Python Flask.

  • Miracle Achumba - Miracle is an ALX SE student, cohort 9 from Nigeria. He assisted in developing the frontend of the application and the landing page using the APIs provided.

Architecture

Data Modelling

Technologies Used

  • Frontend with Vue.JS, Vue Router, HTML and CSS: For the frontend development, we make use of Vue.JS for intuitive UI and better state management.

  • Flask: We used this Python web framework to build the backend architecture of the code. It allows us to connect to the database and provided us with an opportunity to create an interface for the CRUD operations.

  • MySQL: This was used as the storage for the application.

Completed Features

  • Job Filtering - We were able to complete the feature that allows the users to filter for jobs by location, title, companies etc.

  • Theme Switcher - The project includes seamless theme switching from light to dark mode and vice versa. We were able to use the LocalStorage feature in JavaScript to achieve this.

  • Routing - The application requires the users to view the details of the job by clicking on it from the index page and routing them to an inner page without reloading the page. So we used the routing feature of Vue to accomplish this.

  • Visually Appealing User Interface: We were able to get the UI looks exactly like what we have in the design.

Challenges

  • User Interface Design - Getting the user interface to look exactly like the one we had was challenging and took a whole lot of time.

  • Database Design and Scalability - consideration of how to store and retrieve large amounts of job listings, user profiles, resumes, and other relevant data efficiently. Additionally, ensuring data security, optimizing query performance, and planning for future scalability is essential.

  • Job Matching and Recommendation: Implementing an effective job matching algorithm is critical to connecting job seekers with suitable opportunities. Developing algorithms that take into account factors like skills, experience, location, preferences, and other relevant criteria can be complex.

Continued development

  • Integrate frontend with the backend:

    • Connect the frontend components to the backend API endpoints.

    • Ensure seamless communication between the frontend and backend for data retrieval and submission.

About Me

Oluwakemi is a developer with expertise in Vue.JS and libraries such as Vuex, Vue Router, Vue CLI, Vite and Nuxt.JS framework which enables her to develop high-quality applications with ease. She also possesses an understanding of Django, Flask, SQL, MySQL, and SQLAlchemy which has allowed her to integrate with backend technologies and work collaboratively with backend developers. She has experience in integrating third-parties libraries and APIs, developing complex, interactive web applications and custom components that deliver exceptional user experiences and meet business requirements. With a strong foundation in HTML, CSS, and JavaScript, she specializes in building scalable, maintainable, engaging and intuitive Vue.JS applications.
She is also well-versed in modern web development concepts, including responsive design, accessibility, and performance optimization and she integrates this into her development processes to ensure the best possible user experience.

Feel free to connect with me on LinkedIn, Twitter, or explore my personal GitHub repository for project inspirations.