Initial commit: Set up basic FastAPI structure and /jobs skeleton#7
Merged
Initial commit: Set up basic FastAPI structure and /jobs skeleton#7
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Introduces the initial FastAPI app scaffold for a Job Search API, including a root endpoint and a placeholder /jobs route to establish routing/module structure.
Changes:
- Added
app/main.pyFastAPI application with a root (/) endpoint and registered the jobs router under/jobs. - Added a
jobsmodule router with a skeleton GET endpoint that accepts a query parameter. - Added initial dependency and ignore-file scaffolding (
requirements.txt,.gitignore) and package__init__.pymarkers.
Reviewed changes
Copilot reviewed 2 out of 9 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| requirements.txt | Adds pinned runtime dependency list for the API stack. |
| .gitignore | Adds basic Python/venv ignores and ignores uv.lock. |
| app/main.py | Creates the FastAPI app, registers the jobs router, and adds / endpoint. |
| app/modules/jobs/routes.py | Adds initial /jobs GET skeleton endpoint and router definition. |
| app/modules/init.py | Marks modules as a Python package. |
| app/modules/jobs/init.py | Marks jobs as a Python package. |
| app/modules/health/init.py | Marks health as a Python package. |
| app/modules/analyze/init.py | Marks analyze as a Python package. |
| app/modules/stats/init.py | Marks stats as a Python package. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| Skeleton route for fetching jobs. | ||
| Later, this will call the Adzuna Job Search API.""" | ||
|
|
||
| return {"message": f"Yay! Jobs endpoint is working", "query": q} |
| from fastapi import FastAPI | ||
| from app.modules.jobs.routes import router as jobs_router | ||
|
|
||
| app = FastAPI(title = "Job Search API", |
| version="1.0.0") | ||
|
|
||
| # Include the jobs router | ||
| app.include_router(jobs_router, prefix="/jobs", tags=["jobs"]) |
Comment on lines
+11
to
+13
| @app.get("/") | ||
| async def root(): | ||
| return {"message": "Welcome to the Job Search API!"} No newline at end of file |
| @@ -0,0 +1,13 @@ | |||
| from fastapi import APIRouter | |||
|
|
|||
| router = APIRouter ( | |||
Trosper3
approved these changes
Mar 19, 2026
Owner
Trosper3
left a comment
There was a problem hiding this comment.
Nice start man. I think this is going be good when we flush it out. We will add unit tests and/or integration tests later for coverage, so ignore the Copilot for now.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces the initial FastAPI application setup for a Job Search API, including the creation and registration of a jobs router. The changes establish the foundational structure for handling job-related endpoints and provide a basic root endpoint for the API.
API initialization and routing:
app/main.pywith metadata and a root endpoint returning a welcome message.app/modules/jobs/routes.pywith a skeleton/jobsGET endpoint that accepts a query parameter and returns a placeholder response./jobsprefix and with the "jobs" tag.