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-jsdocandswagger-ui-expressto 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-jsdoccan auto-generate the spec.src/utils/swagger.jsto scan routes and controllers and to expose the OpenAPI definition./api-docsfor interactive documentation and testing.swagger.jsonfor CI/CD / client generation.Endpoints (short reference)
GET /health200with JSON response like{ "message": "API is working", "status": 200 }.POST /api/auth/register{ "username": "string", "email": "string", "fullname": "string", "password": "string", "role": "optional role id" }Responses:201(created),400(validation/duplicate),500(server error).POST /api/auth/login{ "email": "string", "password": "string" }Responses:200(success withtokenandrefreshToken),400(missing fields),401(invalid credentials)./api-docscan see all docs