- Install dependencies:
npm install- Copy environment variables:
cp .env.example .env-
Update
.envwith your actual database URL and JWT secret -
Run Prisma migrations:
npm run migrate:dev- Generate Prisma Client:
npm run prisma:generate- Start development server:
npm run dev- Set environment variables in Railway
- Build command:
npm install && npx prisma generate && npx prisma migrate deploy && npm run build - Start command:
npm start
POST /api/auth/login- Admin loginPOST /api/auth/register- Register first admin (closes after first user)GET /api/auth/me- Get current user
GET /api/projects- List all published projectsGET /api/projects/:slug- Get project by slug
POST /api/admin/projects- Create projectPUT /api/admin/projects/:id- Update projectDELETE /api/admin/projects/:id- Delete project
GET /api/articles- List all published articlesGET /api/articles/:slug- Get article by slug
POST /api/admin/articles- Create articlePUT /api/admin/articles/:id- Update articleDELETE /api/admin/articles/:id- Delete article
GET /api/team- List all team membersPOST /api/admin/team- Create team member (protected)PUT /api/admin/team/:id- Update team member (protected)DELETE /api/admin/team/:id- Delete team member (protected)
POST /api/admin/media/upload- Upload files (protected)GET /api/admin/media- List all media (protected)DELETE /api/admin/media/:id- Delete media (protected)
GET /api/settings- Get site settingsPUT /api/admin/settings- Update settings (protected)
POST /api/contact/submit- Submit contact formGET /api/admin/contact- List submissions (protected)PUT /api/admin/contact/:id/read- Mark as read (protected)