Jobolith – Your Personal Job Applications Tracker
What Is Jobolith ?
At Jobolith, we aim to help professionals and job seekers streamline their job search process. Whether you’re applying for full-time, part-time, internships, or freelance roles, we’ve got your back with seamless tools to keep track of it all. We understand that job searching can be overwhelming, so we’ve built our platform with a straightforward, easy-to-use approach. While creativity and innovation drive us every day at Jobolith, we promise it will never come at the cost of straightforwardness — that’s our commitment to you.
Please visit the app at: https://jobolith.com
Architectural Decisions
I chose Next.js for the frontend and Express.js for the backend, while using GraphQL with Mongoose as an API layer. This unique combination allows me to customize the fetched data, which is a crucial aspect in an application like Jobolith that requires stats and real-time data updates.
For better security, I follow strict token-based role management. I use JWTs to authenticate any request to the server. Later on, when integrating SSOs, I restricted their role to validation only. Once valid, they get exchanged for an internal JWT to establish a secure connection. At the server level, I use a middleware layer as a first entry point for any request, just to make sure that only authorized requests reach the controller, much less the service layer. The entire backend is built on a Controller-Service-Model structure to ensure utmost scalability.
Sources
https://www.descope.com/learn/post/jwt
https://auth0.com/blog/what-is-and-how-does-single-sign-on-work