By the end of this mini-quest, you will be able to:
- ✅ Track your job search automatically
- ✅ Add Git, GitHub, and Docker to your resume Skills section
- ✅ Showcase yourself at https://www.app.justajobapp.com/contributors
Before starting, make sure you have:
- Docker Desktop installed
- Visual Studio Code (recommended)
- Git installed
- A GitHub account
- A Google account (for API keys and OAuth setup)
-
Fork the repository on GitHub
- Go to https://github.com/just-a-job-app/jobseeker-analytics
- Click the "Fork" button in the top right
-
Clone your fork locally
git clone https://github.com/YOUR_USERNAME/jobseeker-analytics.git cd jobseeker-analytics -
Add the upstream remote
git remote add upstream https://github.com/just-a-job-app/jobseeker-analytics.git
-
Install Docker Desktop
- Download and install Docker Desktop
- Start Docker Desktop
- On Windows: make sure to select "Use the WSL 2 based engine" under Settings/general
-
Set up environment variables
# Copy the example environment files cp backend/.env.example backend/.env cp frontend/.env.sample frontend/.env -
Get a Google AI API key
- Go to https://aistudio.google.com/app/apikey
- Click Create an API Key
- Copy the API key value
- Open
backend/.envand replace value forGOOGLE_API_KEY
-
Create a Google OAuth App
- Go to the Google Cloud Console and create a new project
- Navigate to APIs & Services → Credentials
- Configure the OAuth consent screen if prompted
- Click Create Credentials → OAuth 2.0 Client IDs
- Set application type to Web Application
- Under "Authorized redirect URIs," add:
http://localhost:8000/auth/google - Copy the Client ID and paste in
backend/.envforGOOGLE_CLIENT_ID - Copy the Client secret and paste in
backend/.envforGOOGLE_CLIENT_SECRET - On OAuth Consent Screen, add your gmail address to "Test Users"
- Enable Gmail API and add scopes:
.../auth/userinfo.email,openid,.../auth/gmail.readonly
-
Start the app using Docker
docker-compose up --build
-
Verify the app is running
- Frontend: http://localhost:3000
- Backend: http://localhost:8000
- Wall of Fame: http://localhost:3000/contributors
-
Navigate to the contributors page
- Open http://localhost:3000/contributors in your browser
- Take a before screenshot showing the current contributors
-
Add your contributor data
- Open
frontend/data/contributors.json - Add your information following this format:
{ "name": "Your Name", "github": "your-github-username", "avatar": "/contributors/your-github-username.png", "message": "Your Name was here! 🚀", "date": "2025-01-27" } - Open
3. **Add your profile picture**
> **Note:** For security reasons, we do not allow external image links. You must save your image locally.
* **Option 1: Use your GitHub avatar (Recommended)**
1. Go to `https://github.com/your-github-username.png` (replace with your actual username)
2. Right-click the image and select **"Save Image As..."**
3. Save the file to `frontend/public/contributors/` using your username (e.g., `your-github-username.png`)
* **Option 2: Use a custom image**
1. Place your image file in `frontend/public/contributors/`
2. Ensure the filename matches what you put in `contributors.json` (e.g., `/contributors/my-pic.jpg`)
4. **Test your changes**
- Refresh http://localhost:3000/contributors
- Verify your profile appears correctly
- Take an **after screenshot** showing your addition
### Step 4: Submit Your Pull Request
1. **Create a new branch**
```bash
git checkout -b contributors/add-your-name
-
Commit your changes
git add . git commit -m "Add [Your Name] to Wall of Fame"
-
Push to your fork
git push origin contributors/add-your-name
-
Create a Pull Request
- Go to your fork on GitHub
- Click "Compare & pull request"
- Important: Include both screenshots in your PR description
Your pull request must include these screenshots:
- Show the contributors page before your addition
- Include the URL bar showing
localhost:3000/contributors - Example: "Before adding my profile to the Wall of Fame"
- Show the contributors page after your addition
- Include the URL bar showing
localhost:3000/contributors - Your profile should be visible
- Example: "After adding my profile - I'm now on the Wall of Fame! 🎉"
Feel free to personalize your contribution:
- Creative messages: "Lianna was here and she's excited to contribute! 🚀"
- Custom avatars: Use a fun, SFW image that represents you
- Special dates: Use your actual contribution date
- Emojis: Add personality with emojis in your message
Your contribution is complete when:
- The app runs locally without errors
- Your profile appears on the Wall of Fame page
- You've included both before/after screenshots
- Your pull request is submitted and approved
- Your profile is live on the deployed site
If you get stuck:
- Check the main contributing guide: CONTRIBUTING.md
- Check the main README: README.md
- Open an issue: Describe what you're trying to do and where you're stuck
- Email for help: help@justajobapp.com
- Not redirected after login?
Double-check yourGOOGLE_CLIENT_REDIRECT_URIin both.envand Google Cloud settings. - Invalid API key errors?
Some Google APIs require API key restrictions—try generating a new unrestricted key for local testing. - Cannot Build Docker Image? Check that Docker Desktop is running and you have sufficient disk space.
- When do I need to rebuild Docker?
If you change
.envvariables, you'll need todocker compose downanddocker compose up --build
Once your PR is merged, you'll be officially part of our contributor community! Your profile will be live on our Wall of Fame for everyone to see.
Remember: This is just the beginning! After completing this onboarding, you'll be ready to tackle more complex issues and features. Welcome to the team! 🚀
