This is a web application to track the status of job applications, featuring a Node.js backend and a PostgreSQL database.
This application uses a client-server architecture:
- Backend: A Node.js server using the Express framework connects to a PostgreSQL database to retrieve and update application data. It exposes a simple REST API.
- Frontend: A static single-page application (HTML, CSS, vanilla JavaScript) that calls the backend API to display and manage data.
- Lists job applications in a table from a PostgreSQL database.
- Dynamically generates a cover letter page from database data.
- Allows for updating the status of an application.
- Falls back to local
data.jsonif the server is unavailable. - Print-friendly cover letter page.
Follow these instructions to get the project running on your local machine.
- Node.js (which includes npm)
- PostgreSQL
-
Clone the repository:
git clone <repository-url> cd <project-directory>
-
Install backend dependencies:
npm install
-
Set up the database:
- Follow the instructions in
SETUP.mdto create a PostgreSQL database and user. - Run the
database.sqlscript to create the necessary table and populate it with sample data.
- Follow the instructions in
-
Configure environment variables:
- Create a
.envfile in the project root by copying.env.example. - Fill in your PostgreSQL connection details in the
.envfile.
- Create a
-
Start the server:
npm start
-
Open the application:
- Navigate to
http://localhost:3000in your web browser.
- Navigate to