A Yeoman generator for creating Spring Boot applications with Nokode framework
npm install generator-nokode

A Yeoman generator for creating Spring Boot applications with the Nokode framework. This generator scaffolds a complete Spring Boot application with authentication, user management, role-based access control, and MongoDB integration.
- ๐ Spring Boot 3.5.5 with Java 17
- ๐ Authentication & Authorization with role-based access control
- ๐ฅ User Management with CRUD operations
- ๐๏ธ MongoDB Integration with Spring Data
- ๐ OpenAPI Documentation with Swagger UI
- ๐ ๏ธ MapStruct for object mapping
- ๐ Security with interceptors and CORS configuration
- ๐ Auditing and logging capabilities
- ๐งช Testing setup with JUnit
- Node.js (>= 14.0.0)
- Java 17
- Gradle
- MongoDB
First, install Yeoman and generator-nokode using npm (we assume you have pre-installed node.js).
``bash`
npm install -g yo
npm install -g generator-nokode
Run the generator in interactive mode:
`bash`
yo nokode
The generator will prompt you for:
- Application name
- Group ID (e.g., com.example)
- Java package name (e.g., com.example.myapp)
- System email address
You can also provide all parameters via command line:
`bash`
yo nokode --appName="MyApp" --groupId="com.example" --packageName="com.example.myapp" --systemEmailAddress="admin@example.com"
``
my-app/
โโโ src/
โ โโโ main/
โ โ โโโ java/
โ โ โ โโโ com/example/myapp/
โ โ โ โโโ MyAppApplication.java
โ โ โ โโโ config/
โ โ โ โ โโโ AuthConfig.java
โ โ โ โ โโโ MongoConfig.java
โ โ โ โ โโโ WebConfig.java
โ โ โ โ โโโ ...
โ โ โ โโโ user/
โ โ โ โ โโโ domain/
โ โ โ โ โโโ dto/
โ โ โ โ โโโ mapper/
โ โ โ โ โโโ repository/
โ โ โ โ โโโ service/
โ โ โ โโโ role/
โ โ โ โโโ domain/
โ โ โ โโโ dto/
โ โ โ โโโ mapper/
โ โ โ โโโ repository/
โ โ โ โโโ service/
โ โ โโโ resources/
โ โ โโโ application.properties
โ โโโ test/
โ โโโ java/
โ โโโ com/example/myapp/
โ โโโ MyAppApplicationTests.java
โโโ build.gradle
โโโ settings.gradle
โโโ gradlew
After generation, update the application.properties file with your specific configuration:
`propertiesDatabase Configuration
spring.data.mongodb.uri=mongodb://localhost:27017/myapp
Running the Application
1. Start MongoDB:
`bash
mongod
`2. Run the application:
`bash
./gradlew bootRun
`3. Access the application:
- API: http://localhost:8080
- Swagger UI: http://localhost:8080/swagger-ui.html
API Endpoints
The generated application includes the following endpoints:
$3
-
POST /api/users - Create user
- GET /api/users - Get all users
- GET /api/users/{id} - Get user by ID
- PUT /api/users/{id} - Update user
- DELETE /api/users/{id} - Delete user$3
-
POST /api/roles - Create role
- GET /api/roles - Get all roles
- GET /api/roles/{id} - Get role by ID
- PUT /api/roles/{id} - Update role
- DELETE /api/roles/{id} - Delete role$3
-
POST /api/auth/login - User login
- POST /api/auth/signup - User signup
- POST /api/auth/reset-password - Reset passwordDevelopment
$3
`bash
./gradlew test
`$3
`bash
./gradlew build
`$3
`bash
docker-compose up
`Contributing
1. Fork the repository
2. Create your feature branch (
git checkout -b feature/amazing-feature)
3. Commit your changes (git commit -m 'Add some amazing feature')
4. Push to the branch (git push origin feature/amazing-feature`)This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, please:
1. Check the Issues page
2. Create a new issue if your problem isn't already reported
3. Contact the maintainers at info@thepanther.io
- Initial release
- Spring Boot 3.5.5 support
- User and Role management
- MongoDB integration
- Authentication and authorization
- OpenAPI documentation