REST API for Boulder, an iOS app to create quizzes and use AI to evaluate topic mastery.
- Node.js + Express
- TypeScript (strict)
- MongoDB + Mongoose
- JWT (jsonwebtoken) + bcrypt for auth
-
Install dependencies
npm install
-
Environment
Copy
env.exampleto.envand set:PORT=4000 NODE_ENV=development MONGODB_URI=mongodb://localhost:27017/boulder JWT_SECRET=your-super-secret-jwt-key-change-in-production JWT_EXPIRES_IN=7d
-
Run
- Dev (with reload):
npm run dev - Build:
npm run build - Start:
npm start
- Dev (with reload):
- POST
/api/auth/register— Register (body:fullName,email,password) - POST
/api/auth/login— Login (body:email,password) - GET
/api/users/me— Current user (header:Authorization: Bearer <token>) - GET
/api/health— Health check
Responses use { success: true, data } or { success: false, error }.