feat(api): add Swagger documentation and basic API endpoints #31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR: Add Swagger docs + health, register, and login endpoints
Summary
This PR integrates Swagger (OpenAPI) documentation into the project and implements three basic API endpoints:
/health
,/register
, and/login
. The goal is to provide an interactive, discoverable API reference for developers and contributors and to make it easy to explore and test endpoints.Changes included
swagger-jsdoc
andswagger-ui-express
to serve OpenAPI docs.GET /health
— simple health check endpoint.POST /api/auth/register
— user registration (request body + responses documented).POST /api/auth/login
— user login (request body + success and error responses documented).@openapi
) comments above controllers/routes soswagger-jsdoc
can auto-generate the spec.src/utils/swagger.js
to scan routes and controllers and to expose the OpenAPI definition./api-docs
for interactive documentation and testing.swagger.json
for CI/CD / client generation.Endpoints (short reference)
GET /health
200
with JSON response like{ "message": "API is working", "status": 200 }
.POST /api/auth/register
201
(created),400
(validation/duplicate),500
(server error).POST /api/auth/login
200
(success withtoken
andrefreshToken
),400
(missing fields),401
(invalid credentials)./api-docs
can see all docs