A full-stack application designed to seamlessly streamline, manage, and track job application entries. Built as a monorepo, it leverages a modern TypeScript ecosystem to ensure type safety and scalability across both the client and server.
- Framework: Next.js / React
- Language: TypeScript
- Environment: Node.js
- Framework: Express.js
- Language: TypeScript
- Architecture: REST API
- Primary Database: PostgreSQL
This project utilizes a monorepo architecture configured via package.json workspaces. This setup allows for efficient code sharing, unified dependency management, and a streamlined developer experience between the frontend and backend applications.
Ensure you have the following installed on your local machine:
- Node.js
- PostgreSQL
-
Clone the repository:
git clone [https://github.com/D3S-Gaurav/Job-Tracker.git](https://github.com/D3S-Gaurav/Job-Tracker.git) cd Job-Tracker -
Install dependencies for the entire workspace from the root directory:
npm install
-
Configure your environment variables. You will need to set up your PostgreSQL database credentials and server ports in the respective
.envfiles for both the frontend and backend workspaces.
To start the development servers, you can utilize the workspace scripts. The backend is configured to run with nodemon and ts-node for automatic reloading during development.
Start the backend server:
npm run dev --workspace=backendStart the frontend client:
npm run dev --workspace=frontend(Note: Adjust the workspace names backend and frontend if they differ in your package.json workspace configuration).
- Application Management: Add, update, view, and organize job applications in one centralized dashboard.
- RESTful API: Structured and reliable endpoints for scalable backend data management.
- End-to-End Type Safety: Comprehensive TypeScript integration across the stack reduces runtime errors and improves maintainability.