Development¶
Project Structure¶
.env
package.json
src/
api/
authApi.js
roleApi.js
serviceApi.js
swagger.js
swaggerApis/
baseSwagger.js
authSwagger.js
role.js
serviceSwagger.js
fullSwagger.js
controllers/
authController.js
roleController.js
serviceController.js
db.js
index.js
lib/
utils/
logger.js
response.js
middleware/
authorization.js
axiosInstance.js
passport.js
models/
podRole.js
role.js
service.js
user.js
operations/
authOperations.js
podsOperations.js
roleOperations.js
serviceOperations.js
utils/
generateApiKey.js
password.js
passport.js
userToken.js
Contribution Guidelines¶
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a new Pull Request.
Architecture¶
The service is built using Node.js and Express, with a PostgreSQL database managed by Slonik. Authentication is handled using Passport.js with JWT and local strategies. The service also includes role-based access control and dynamic service registration.