Career Manager is a web application created for the Borderless Community hackathon. It is designed to help users manage their job applications and resumes. The platform allows users to:
- Track Job Applications
- Build and Export Resumes
- Track Job Applications
- Register the companies you've applied to, store job descriptions, application statuses, links, and feedback.
- Resume Builder and Export
- Use a pre-designed template to build resumes, edit content, and export them as a PDF.
- Frontend: TypeScript, React, Vite, Tailwind CSS, shadcn/ui, Zod
- Backend: TypeScript, Node, Fastify, PostgreSQL, Docker
- Testing: Vitest
Clone the repository
git clone https://github.com/ProgramadoresSemPatria/Time-5.git
cd ..
cd back/
Npm install
cd back
docker compose up
npx prisma migrate dev
npm run dev
Create a new job entry.
Body:
companyName (string)
application_status (enum: APPLIED, INTERVIEWING, OFFERED, REJECTED, ACCEPTED)
description (string)
link (string)
Fetch job details by its ID.
Params:
jobId (string)
Fetch all job entries for the authenticated user.
Update a job entry by its ID.
Params:
jobId (string)
Body (optional):
companyName (string)
application_status (enum)
description (string)
feedback (string)
link (string)
Delete a job entry by its ID.
Params:
jobId (string)
User Routes
Register a new user.
Body:
name (string)
email (string)
password (string, min 6 characters)
User login and JWT token generation.
Body:
email (string)
password (string)
Fetch the authenticated user's profile.
Save or update the user's CV.
Body:
content (string)
verifyJWT This middleware verifies the authenticity of the JWT token included in the request. It is used in protected routes to ensure that the user is authenticated.
ResourceNotFoundError Thrown when a requested resource (user/job) is not found. Response: 404 Not Found
Response: 401 Unauthorized
Response: 409 Conflict
- Thales Oliveira, Gustavo Bañares e Luam Ramlow