An open API service indexing awesome lists of open source software.

https://github.com/durgeshh04/role-management-system

Nestjs Project
https://github.com/durgeshh04/role-management-system

authentication authorization backend docker graphql graphql-api nestjs postgresql typeorm typescript

Last synced: 2 months ago
JSON representation

Nestjs Project

Awesome Lists containing this project

README

          

## Role Management System ๐Ÿš€

This project is a role management system built using the [NestJS](https://nestjs.com/) framework. It includes modules for user management, authentication, and configuration, with a focus on modularity and scalability.

---

## Project Setup ๐Ÿš€

```bash
# Install dependencies
$ npm install
```

---

## Development ๐Ÿ’ป

```bash
# Run in development mode
$ npm run start

# Run with hot-reload (watch mode)
$ npm run start:dev

# Build and run for production
$ npm run start:prod
```

---

## Testing ๐Ÿงช

```bash
# Run unit tests
$ npm run test

# Run end-to-end tests
$ npm run test:e2e

# Generate test coverage report
$ npm run test:cov
```

---

## Environment Setup ๐Ÿ”ง

Make sure you have:
- **Node.js** (v14 or higher)
- **npm** (v6 or higher)

---

## Project Structure ๐Ÿ“‚

- **`src/`**: Contains the main application code.
- **`modules/`**: Modularized features of the application.
- **`user/`**: User management module.
- `controllers/`: Contains the `UserController` for handling user-related routes.
- `repositories/`: Placeholder for user-related database operations.
- `entities/`: Placeholder for user-related database entities.
- `dtos/`: Data Transfer Objects for user creation and updates.
- `user.service.ts`: Placeholder for user-related business logic.
- `user.module.ts`: Placeholder for the user module definition.
- **`auth/`**: Placeholder for authentication module.
- **`config/`**: Placeholder for configuration and database modules.
- **`test/`**: Contains unit and end-to-end tests.
- **`dist/`**: Compiled output (ignored in version control).

---

## Available Scripts ๐Ÿ“œ

- `start` - Launches the application in development mode.
- `start:dev` - Runs the application with hot-reload enabled.
- `start:prod` - Builds and runs the application in production mode.
- `test` - Executes unit tests.
- `test:e2e` - Runs end-to-end tests.
- `test:cov` - Generates test coverage report.
- `lint` - Lints the codebase and fixes issues.
- `format` - Formats the codebase using Prettier.

---

## Features โœจ

- **User Management**: Basic user-related functionality with a `UserController`.
- **Modular Architecture**: Easily extendable with modules for authentication, configuration, and more.
- **Testing**: Includes unit and end-to-end tests using Jest and Supertest.
- **Code Quality**: Enforced with ESLint and Prettier.

---

## Future Enhancements ๐Ÿš€

- Implement database entities and repositories for user management.
- Add authentication and authorization logic.
- Integrate configuration and database modules.
- Expand test coverage for all modules.

---

## Contributing ๐Ÿค

Feel free to fork this repository and submit pull requests. Contributions are welcome!

---

## License ๐Ÿ“„

This project is licensed under the [MIT License](./LICENSE).