Skip to content

bhodrolok/JobAppTrackr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

JobAppTrackr

Backend initial setup branch!

Badges!

GitHub issues GitHub closed issues Standard - JavaScript Style Guide C# Coding Conventions Pull Requests

Documentation available here

Track and manage your job applications on the web!

Built using

react .net


Table of Contents 🚩
  1. Inspiration
  2. Project Goals & Scope
  3. High-Level Overview
  4. Key Features
  5. Configuration
  6. Feedback
  7. Contributing

Inspiration 🌌

Let's face it. After spending God knows how long on getting your resume and cover letter tweaked and perfected for applying for each and every position, the last thing on your mind afterwards is noting them down into your Excel worksheet for tracking and continously having to monitor it and update it by yourself. That's simply unneccesarrily difficult and no fun. Presenting.... JobAppTrackr!

(back to top ⬆️ )

Project Goals 🏹 & Scope πŸ—ΊοΈ

The primary goal of this project is to create a web application that allows users to track and manage their job applications online without extra hassle.

JobAppTrackr aims to provide a seamless, user-friendly and easy to navigate platform that providers job seekers with the ability to add, edit, and delete their job applications. This will enable them to track application status and upcoming interviews.

For now, it is planned that the project will consist of a Single-Page Application (SPA) built with a React frontend, an ASP.NET Core API service as the backend and a MongoDB database to serve as data storage.

A rough roadmap of this project can be found here. This includes almost all of the planned, in-progress and implemented functionalities and features of JobAppTrackr.

Requirements were prioritized using the MoSCoW method.

(back to top ⬆️ )

High-Level Overview ❓

The web app is currently planned to function as a SPA, to provide end-users with a fast, responsive and smooth user experience loading only the necessary data instead of having to wait for a new page to load each time.

As such the application architecture has been divided into 3 components:

  1. Frontend (FE)

    • React
    • UI design components and pages
    • Integrate FE with backend API
  2. Backend (BE)

    • ASP.NET Core
    • Exposed RESTful API service and endpoints to be consumed by FE
    • JWT Authentication
    • Integrate BE with MongoDB database
  3. Database (DB)

    • MongoDB
    • Data storage
    • High performance, flexible document-based data model, scalability and ease of integration with FE and BE.

In this SPA software architecture pattern/model, the FE will be responsible for rendering the UI, handling end-user interactions and communicating with the backend REST API to fetch and store data. The BE will be responsible for processing incoming requests from the FE, handling logic and communicating with the DB. The database is responsible for storing and retrieving data for the backend to use.

I decided to decouple the 3 major components so as to make the application more modular and scalable. This approach can facilitate each component being easily upgraded, replaced or even switched out with some other technology/stack without disrupting the stability of the system.

Overall, by using this architecture, the focus will be on delivering only the necessary data to the client's frontend, while keeping the backend lightweight and scalable!

As this is very much a learning project, I hope to develop a more granular understanding about modern software design patterns and of the underlying technologies involved in building modern web applications, and use that knowledge to make JobAppTrackr better iteratively.

  • Deployment
    • W.I.P.

(back to top ⬆️ )

Features πŸ”†

So far!

User Registration and Authentication Enable users to create accounts and log in securely.
Job Application Tracking Enable users to track job applications, and their status, efficiently throughout their job search. Status includes attributes such as URL of job posting, position, date applied,company name, resume/cover letter used to apply, etc.
Dashboard View Provide users with a bird's-eye view of job application status and progress, helping them stay organized and on top of their job search.
Scalability Allow for easy scaling, upgrading and adding of new features over time as the application grows.

(back to top ⬆️ )

Building & Configuration

TODO!

(back to top ⬆️ )

What's next for JobAppTrackr 🎯

Lots of features planned ahead!

(back to top ⬆️ )

Contributing πŸ“œ

This is an open source project. Any contributions (suggestions, bug fixes, documentation improvements, translations) will be greatly appreciated!

(back to top ⬆️ )

About

πŸ“Œ Track and manage your job applications on the web πŸ“‚

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages