A bookkeeping web app to aid in your job search.
https://job-tracker-delta.vercel.app/
- Account registration and authentication with Auth0/Google
- Create, Read, Update, and Delete (CRUD) functionality for job applications and contacts
- Analytics for the top frequently-noted skills on job applications, displayed in text and graphs
- Attractive, minimalist UI with slide-out drawer forms and snackbar notifications
- Dark/Light mode toggle
- PostgreSQL database instance, such as one running on AWS RDS
- Auth0 account with access to Application Keys
- Node.js (recommend 18.12.0 LTS)
- Clone the repository
- Switch to stable branch:
$ git checkout remotes/origin/final-stable
- Set up and configure server
- From root directory:
$ cd backend/
- Install dependencies:
$ npm i
- Important: Create environmental variables (database credentials):
$ touch .env
- Enter your PostgreSQL database credentials into
.env
and save:DB_PORT=${YOUR_POSTGRES_DB_PORT} DB_NAME=${YOUR_POSTGRES_DB_NAME} DB_USER=${YOUR_POSTGRES_DB_USERNAME} DB_PASS=${YOUR_POSTGRES_DB_PASSWORD} DB_HOST=${YOUR_POSTGRES_DB_HOST} DB_DIALECT="postgres" NODE_ENV="production"
- Note: By default, the server will run on port 3000. Change this as needed based on the callback URLs you provided to Auth0 by specifying a
PORT
variable.
- Enter your PostgreSQL database credentials into
- From root directory:
- Set up, configure, and build React app
- From root directory:
$ cd frontend/
- Install dependencies:
$ npm i
- Important: Create environmental variables (Auth0 credentials local API endpoints):
$ touch .env
- Enter the following into .env and save:
REACT_APP_AUTH0_DOMAIN=${YOUR_AUTH0_DOMAIN} REACT_APP_AUTH0_CLIENT_ID=${YOUR_AUTH0_CLIENT_ID} REACT_APP_JOBS_ENDPOINT_URL='http://localhost:3000/api/jobs' REACT_APP_CONTACTS_ENDPOINT_URL='http://localhost:3000/api/contacts'
- Note: If you changed the server port in step 3 above, change the
REACT_APP_JOBS_ENDPOINT_URL
andREACT_APP_CONTACTS_ENDPOINT_URL
accordingly.
- Enter the following into .env and save:
- Build React app:
$ npm run build
- From root directory:
- Start the server:
- From root directory:
$ cd backend/
$ npm start
- From root directory:
- Access the React app views in your web browser by visiting
http://localhost:3000/
- Note: Change port as needed if modified during installation.
- Click the “Sign In” button in the top right corner. You will be prompted to sign in using a Google account.
- You will be taken to the Jobs page. If
NODE_ENV
is not set to “production” and this is your first time using the app since starting the server, the table will be empty. - Create a new job by clicking the blue “New” button. Enter the job details in the pop out menu on the right. Then click “Submit”.
- If the required fields are present and valid, the new row will be inserted into the table. You can continue adding more jobs, editing them, and deleting them in bulk using the appropriate checkboxes and buttons.
- Create a new contact by clicking “Contacts” in the navigation bar and filling out a similar form. First name, last name, and email are required fields while phone number is optional. However, if a phone number is provided, it must be in a valid format.
- Associate a contact with a job by revisiting the “Jobs” page and either creating a new job or editing an existing one. If at least one contact has been created, a dropdown field will be displayed in the Job form.
- After adding a few jobs, navigate to the “Skills” page to see a visual breakdown of the recorded skill frequencies as well as your top 5 most frequently noted skills.
- Bonus: Toggle between light and dark mode by clicking the sun/moon icon in the upper right corner.
Feel free to report any problems you experience or any suggestions using the Issues tab. Please provide as many details as possible in your report.