Commit graph

93 commits

Author SHA1 Message Date
Tiago Yamamoto
67c2ccdffe Integrate backend jobs feed into frontend and improve seeder 2025-12-14 20:32:20 -03:00
Tiago Yamamoto
7e40ba0476
Merge pull request #5 from rede5/codex/update-application-status-to-hired
Add example for hiring application status update
2025-12-14 17:26:53 -03:00
Tiago Yamamoto
47b9e4feaf Add example for hiring application status update 2025-12-14 17:26:39 -03:00
Tiago Yamamoto
bbfcddf498
Merge pull request #4 from rede5/codex/fix-unused-import-in-application_handler.go
Remove unused models import from application handler
2025-12-14 17:16:43 -03:00
Tiago Yamamoto
7d5c6cc1d4 Remove unused models import 2025-12-14 17:16:29 -03:00
Tiago Yamamoto
f17a0c08cf
Merge pull request #3 from rede5/codex/mostrar-todas-as-rotas-de-jobs
Document all API routes in Swagger
2025-12-14 17:11:15 -03:00
Tiago Yamamoto
bff8012291 Add swagger docs for applications and storage 2025-12-14 17:10:42 -03:00
Tiago Yamamoto
3bd823381b
Merge pull request #2 from rede5/codex/update-backend-service-port-to-8521
Update dev backend ingress port to 8521
2025-12-14 16:49:11 -03:00
Tiago Yamamoto
c317367335 Update dev backend ingress port to 8521 2025-12-14 16:48:38 -03:00
Tiago Yamamoto
390cdf0ffd
Merge pull request #1 from rede5/codex/verificar-ausencia-da-rota-jobs
Expose job endpoints in Swagger docs
2025-12-14 16:42:35 -03:00
Tiago Yamamoto
65eca07c8f Expose job endpoints in Swagger docs 2025-12-14 16:40:29 -03:00
Tiago Yamamoto
6e6c166ce1 test test 2025-12-14 16:17:56 -03:00
Tiago Yamamoto
9b4601f1d8 feat: implement dynamic featured jobs
- Add is_featured column to jobs table (migration)
- Update Job model and Service to support featured jobs
- Update JobHandler to expose featured jobs API
- Support filtering by featured status in GET /jobs
- Frontend: Fetch and display featured jobs from API
- Frontend: Update Job type definition
2025-12-14 15:43:43 -03:00
Tiago Yamamoto
361d36dc38 feat: customize api root response and update dev ingress host
- Update root handler to return server public IP via ipify
- Update root handler response JSON structure
- Update ingress host to api-dev.gohorsejobs.com
- Add unit tests for router
2025-12-14 15:19:18 -03:00
Marcus
12199fb300 ajusteno k8s 2025-12-14 11:26:47 -03:00
Marcus
a6c1594f30 ajusteno k8s 2025-12-14 11:10:36 -03:00
Marcus
d727ea5862 ajusteno k8s 2025-12-14 11:01:38 -03:00
Tiago Yamamoto
bfc8ca5603 chore: trigger redeploy to update swagger with Jobs endpoints 2025-12-14 10:17:23 -03:00
Tiago Yamamoto
b2284921ea feat: add Cloudflare and cPanel admin routes
Cloudflare Cache Management:
- GET /api/v1/admin/cloudflare/zones
- POST /api/v1/admin/cloudflare/cache/purge-all
- POST /api/v1/admin/cloudflare/cache/purge-urls
- POST /api/v1/admin/cloudflare/cache/purge-tags
- POST /api/v1/admin/cloudflare/cache/purge-hosts

cPanel Email Management:
- GET /api/v1/admin/cpanel/emails
- POST /api/v1/admin/cpanel/emails
- DELETE /api/v1/admin/cpanel/emails/{email}
- PUT /api/v1/admin/cpanel/emails/{email}/password
- PUT /api/v1/admin/cpanel/emails/{email}/quota

All routes protected by JWT auth middleware.
Added CLOUDFLARE_* and CPANEL_* env vars to .env.example
2025-12-14 10:11:36 -03:00
Tiago Yamamoto
1e753b611a chore: add scraper API URL to frontend .env.example and fix gitignore
- Add NEXT_PUBLIC_SCRAPER_API_URL to frontend/.env.example
- Re-enable .env* ignore rules in frontend/.gitignore
2025-12-14 09:57:02 -03:00
Tiago Yamamoto
aa31b917bd security: remove accidentally committed .env file 2025-12-14 09:52:34 -03:00
Tiago Yamamoto
ddc4e2c2bf chore: add complete .env.example files for all services
- frontend/.env.example: Add SEEDER_API_URL
- seeder-api/.env.example: Expand with server config and backend URL
- job-scraper-multisite/.env.example: New file with scraping config
- Update gitignore files to allow .env.example tracking
2025-12-14 09:48:56 -03:00
Tiago Yamamoto
dc1a63a3fc fix: correct swagger.json host port to 8521 2025-12-14 09:42:31 -03:00
Tiago Yamamoto
6f348c7975 chore: add frontend .env.example and fix gitignore
- Update frontend/.gitignore to allow .env.example
- Create frontend/.env.example with correct API_URL format (/api/v1 suffix)
- Document production URL: https://api-dev.gohorsejobs.com/api/v1
2025-12-14 09:39:24 -03:00
Tiago Yamamoto
703e651daa docs: update swagger.json with Jobs endpoints and fix README
- Add Jobs endpoints to swagger.json manually (/jobs GET, POST, /jobs/{id} GET, PUT, DELETE)
- Update README.md Swagger URL from /swagger/ to /docs/
- Add production URL: https://api-dev.gohorsejobs.com/docs/index.html
- Expand endpoints table with all available routes
- Fix port from 8080 to 8521
2025-12-14 09:31:28 -03:00
Tiago Yamamoto
9667e94545 chore: add Dockerfiles and gitignore files for all services
Root:
- Add comprehensive .gitignore covering all subprojects

Seeder API (Node.js):
- Add Dockerfile with multi-stage build, non-root user, health check
- Add .dockerignore and .gitignore

Job Scraper (Python):
- Add Dockerfile with Python 3.12, non-root user
- Add .dockerignore and .gitignore

Existing backend/frontend Dockerfiles and .dockerignore already optimized
2025-12-14 09:28:09 -03:00
Tiago Yamamoto
a4abcf8e05 feat: SEO optimization and dynamic jobs API integration
Backend:
- Add Swagger annotations to all job handlers (GET, POST, PUT, DELETE)
- Clean up job handler code

Frontend:
- Expand api.ts with ApiJob types, pagination, and transform function
- Update footer with 'Vagas por Tecnologia' SEO links
- Add robots.txt with crawler directives
- Add sitemap.xml with main pages and job URLs
- Change branding to GoHorse Jobs
2025-12-14 09:16:44 -03:00
Tiago Yamamoto
8856357acd feat: add JobScraper_MultiSite Python project
- main_scraper.py: Main entry point, consolidates data from all sources
- scrapers/programathor_scraper.py: Scraper for ProgramaThor
- scrapers/geekhunter_scraper.py: Scraper for GeekHunter
- requirements.txt: Python dependencies (requests, beautifulsoup4, pandas)
- README.md: Documentation with usage instructions
- Modular architecture for easy addition of new sites
2025-12-14 09:10:17 -03:00
Tiago Yamamoto
15fe5db50e fix(backend): relax CSP for Swagger UI docs
- Allow 'unsafe-inline' and 'unsafe-eval' scripts on /docs routes
- Swagger UI requires inline scripts to function properly
- Keep strict CSP for all other API routes
2025-12-14 09:04:19 -03:00
Tiago Yamamoto
dc2142499b fix(backend): improve migration logs with friendly messages
- Show ⏭️ 'skipped (already applied)' for migrations that already exist
- Add emojis for better log readability ( success,  error, 📦 running)
- Avoid confusing 'Error' messages when migrations are simply re-applied
2025-12-14 09:00:38 -03:00
Tiago Yamamoto
60eafdc6e2 feat(backend): add root route with IP info and move swagger to /docs
- Add root route (/) returning JSON with client IP, API info and links
- Move Swagger docs from /swagger/ to /docs/
- Include X-Forwarded-For and X-Real-IP header support for proxy environments
2025-12-14 08:56:25 -03:00
Tiago Yamamoto
4475bc6bda feat(devops): multi-environment k8s setup and DevOps documentation
- Reorganized k8s manifests into dev/, hml/, prd/ folders
- Added resource limits and health probes to deployments
- DEV: 1 replica, HML: 2 replicas, PRD: 3 replicas
- Updated .drone.yml to use environment-specific k8s paths
- Created comprehensive DEVOPS.md documentation
- Removed old k8s files from root folder
2025-12-13 19:30:43 -03:00
Tiago Yamamoto
7a147bd9e9 fix(drone): update docker repo to gohorsejobsdev namespace 2025-12-13 19:06:45 -03:00
Tiago Yamamoto
082ba6df8c feat(k8s): configure dev environment pipeline and namespace
- Rename pipeline to 'deploy-backend-dev' for dev branch
- Add trigger for dev branch only
- Change namespace from 'gohorsejobs' to 'gohorsejobsdev'
- Use DB_NAME_DEV secret for dev database
- Update deployment and service manifests for dev namespace
2025-12-13 19:02:36 -03:00
Tiago Yamamoto
14c4bc8370 fix(frontend): remove invalid AdminSidebar import from messages page 2025-12-13 18:46:00 -03:00
Tiago Yamamoto
0684ebfdf6 fix(frontend): remove invalid AdminSidebar import from candidates page
The AdminSidebar component doesn't exist - the dashboard layout already provides the sidebar.
2025-12-13 18:39:04 -03:00
Tiago Yamamoto
be35be0c10 fix(docker): align Dockerfile port with .env configuration (8521)
- Updated EXPOSE from 8080 to 8521
- Updated HEALTHCHECK to check port 8521
- Updated default ENV PORT from 8080 to 8521

This fixes the deployment health check issue where the container
was expecting port 8080 but the app was configured to run on 8521.
2025-12-13 18:23:48 -03:00
Tiago Yamamoto
e0288e91e5 Merge branch 'hml' into dev 2025-12-13 16:51:06 -03:00
Marcus Bohessef
94597dfeed ajuste na porta 2025-12-12 15:59:27 -03:00
Marcus Bohessef
672ac05e22 ajuste na porta 2025-12-12 15:47:26 -03:00
Marcus Bohessef
5082ac8e14 ajuste na porta 2025-12-12 15:41:54 -03:00
Marcus Bohessef
e0cc53fcf6 ajuste na porta 2025-12-12 15:28:39 -03:00
Marcus Bohessef
fae2fb00bd ajuste na porta 2025-12-12 15:08:53 -03:00
Marcus Bohessef
94a4c99d6b ajuste no drone.yml 2025-12-12 10:54:06 -03:00
Marcus Bohessef
9f872128b3 ajuste no drone.yml 2025-12-12 10:47:57 -03:00
Marcus Bohessef
a6ea992234 ajuste no drone.yml 2025-12-12 10:46:58 -03:00
Marcus Bohessef
6b9b8ba617 ajuste no drone.yml 2025-12-12 10:46:12 -03:00
Marcus Bohessef
1758a74ad2 ajuste no drone.yml 2025-12-12 10:45:22 -03:00
Marcus Bohessef
038bc5ce26 ajuste no drone.yml 2025-12-12 10:34:51 -03:00
Marcus Bohessef
1b9bf04658 ajuste no drone.yml 2025-12-12 10:21:31 -03:00