DeepSeek Harness Remote
DeepSeek Harness Remote 可将手机或另一台电脑与你运行 DeepSeek Harness 的电脑安全连接,随时随地继续你的工作,方便随时查看进度并继续工作。
AI 翻译
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
OfferGrid is a full-stack application designed to help job seekers centralize, manage, and visualize their job search journey. It transforms the chaotic process of job hunting into a structured, data-driven workflow.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗OfferGrid is a full-stack application designed to help job seekers centralize, manage, and visualize their job search journey. It transforms the chaotic process of job hunting into a structured, data-driven workflow.
job-tracker/
├── app/ # Next.js frontend (App Router)
│ ├── api/ # API proxy routes (forward requests to backend)
│ ├── (routes)/ # Pages (login, dashboard, admin, etc.)
│ └── ...
├── backend/ # Express backend
│ ├── models/ # MongoDB models (User, Job, etc.)
│ ├── routes/ # API routes (user, job, status, etc.)
│ ├── middleware/ # Auth, error handling
│ ├── server.js # Entry point
│ └── .env # Backend environment variables
├── public/ # Static assets
├── middleware.ts # Next.js middleware (protected routes)
└── ...
git clone https://github.com/AungKhantKyaw/job-tracker.git
cd job-tracker
cd backend
cp .env.example .env
npm install
npm run dev
Backend runs on:
http://localhost:5002
.env VariablesPORT=5002
MONGODB_URI=mongodb+srv://<user>:<password>@cluster.mongodb.net/jobtracker
JWT_SECRET=your_jwt_secret_here
CLIENT_URL=http://localhost:3000
NODE_ENV=development
EMAIL_HOST=...
EMAIL_USER=...
EMAIL_PASS=...
cd ..
cp .env.local.example .env.local
npm install
npm run dev
Frontend runs on:
http://localhost:3000
.env.local VariablesNEXT_PUBLIC_API_URL=http://localhost:5002
Important: In the deployment-branch, the frontend never calls the backend directly. All requests are proxied through Next.js API routes (/api/*). This ensures cookies work on Vercel and avoids CORS.
All frontend-to-backend communication goes through Next.js API routes, which forward the request and preserve the Cookie header.
| Frontend Call | Proxy File | Backend Endpoint |
|---|---|---|
POST /api/auth/login | app/api/auth/login/route.ts | POST /user/login |
POST /api/auth/logout | app/api/auth/logout/route.ts | POST /user/logout |
POST /api/auth/forgot-password | app/api/auth/forgot-password/route.ts | POST /auth/forgot-password |
POST /api/auth/reset-password/[token] | app/api/auth/reset-password/[token]/route.ts | POST /auth/reset-password/:token |
POST /api/user/register | app/api/user/register/route.ts | POST /user/register |
GET/PUT /api/user/profile | app/api/user/profile/route.ts | GET /user/profile, PUT /user/profile |
GET/POST /api/jobs | app/api/jobs/route.ts | GET /job, POST /job |
GET/PUT/PATCH/DELETE /api/jobs/[id] | app/api/jobs/[id]/route.ts | GET /job/:id, PUT /job/:id, etc. |
GET /api/status | app/api/status/route.ts | GET /status |
GET/POST /api/admin/users | app/api/admin/users/route.ts | GET /user, POST /user/create |
GET/PUT/DELETE /api/admin/users/[id] | app/api/admin/users/[id]/route.ts | GET /user/:id, PUT /user/:id, DELETE /user/:id |
If you deploy frontend and backend on the same domain (e.g., both behind a single reverse proxy), you can remove all these proxies and call the backend directly – the cookie will be sent automatically.
Pull requests are welcome.
Please:
MIT