🧑💻 等待完善
This commit is contained in:
parent
92d1600a6b
commit
3c69d62491
@ -1,41 +1,16 @@
|
||||
# nunu-layout-basic - Basic Layout
|
||||
# Whois Go
|
||||
|
||||
Nunu is an application scaffold based on Golang. Its name comes from a game character in League of Legends, a little boy riding on the shoulder of a yeti. Like Nunu, this project also stands on the shoulders of giants. It is a composition of various popular libraries from the Golang ecosystem, which can help you quickly build efficient and reliable applications.
|
||||
|
||||
[简体中文介绍](https://github.com/go-nunu/nunu-layout-basic/blob/main/README_zh.md)
|
||||
|
||||

|
||||
|
||||
## Documentation
|
||||
* [User Guide](https://github.com/go-nunu/nunu/blob/main/docs/en/guide.md)
|
||||
* [Architecture](https://github.com/go-nunu/nunu/blob/main/docs/en/architecture.md)
|
||||
* [Getting Started Tutorial](https://github.com/go-nunu/nunu/blob/main/docs/en/tutorial.md)
|
||||
等待完善
|
||||
|
||||
## Features
|
||||
|
||||
- **Gin**: https://github.com/gin-gonic/gin
|
||||
- **Gorm**: https://github.com/go-gorm/gorm
|
||||
- **Wire**: https://github.com/google/wire
|
||||
- **Viper**: https://github.com/spf13/viper
|
||||
- **Zap**: https://github.com/uber-go/zap
|
||||
- **Golang-jwt**: https://github.com/golang-jwt/jwt
|
||||
- **Go-redis**: https://github.com/go-redis/redis
|
||||
- **Testify**: https://github.com/stretchr/testify
|
||||
- **Sonyflake**: https://github.com/sony/sonyflake
|
||||
- **gocron**: https://github.com/go-co-op/gocron
|
||||
- More...
|
||||
|
||||
## Highlights
|
||||
* **Low Learning Curve and Customization**: Nunu encapsulates popular libraries that Gophers are familiar with. You can easily customize the application to meet specific requirements.
|
||||
* **High Performance and Scalability**: Nunu aims to be high-performance and scalable. It utilizes the latest technologies and best practices to ensure your application can handle high traffic and large data volumes.
|
||||
* **Security and Reliability**: Nunu uses stable and reliable third-party libraries to ensure the security and reliability of your application.
|
||||
* **Modularity and Extensibility**: Nunu is designed to be modular and extensible. You can easily add new features and functionalities by using third-party libraries or writing your own modules.
|
||||
* **Comprehensive Documentation and Test Coverage**: Nunu has comprehensive documentation and test coverage. It provides detailed documentation and examples to help you get started quickly. It also includes a test suite to ensure your application works as expected.
|
||||
## 项目结构
|
||||
|
||||
## Nunu CLI
|
||||
|
||||

|
||||
|
||||
## Directory Structure
|
||||
```
|
||||
.
|
||||
├── cmd
|
||||
@ -70,115 +45,3 @@ Nunu is an application scaffold based on Golang. Its name comes from a game char
|
||||
└── go.sum
|
||||
|
||||
```
|
||||
|
||||
This is a classic directory structure for a Golang project, which includes the following directories:
|
||||
|
||||
- cmd: Contains the entry points of the application, including the main function and dependency injection code.
|
||||
- server: The main entry point of the application, including the main function and dependency injection code.
|
||||
- main.go: The main function used to start the application.
|
||||
- wire.go: The dependency injection code generated using Wire.
|
||||
- wire_gen.go: The dependency injection code generated using Wire.
|
||||
|
||||
- config: Contains the configuration files of the application.
|
||||
- local.yml: The configuration file for the local environment.
|
||||
- prod.yml: The configuration file for the production environment.
|
||||
|
||||
- internal: Contains the internal code of the application.
|
||||
- handler: Contains the handlers for handling HTTP requests.
|
||||
- handler.go: The common handler for handling HTTP requests.
|
||||
- user.go: The handler for handling user-related HTTP requests.
|
||||
- middleware: Contains the middleware code.
|
||||
- cors.go: The CORS (Cross-Origin Resource Sharing) middleware.
|
||||
- model: Contains the data model code.
|
||||
- user.go: The user data model.
|
||||
- repository: Contains the data access code.
|
||||
- repository.go: The common interface for data access.
|
||||
- user.go: The implementation of the user data access interface.
|
||||
- server: Contains the server code.
|
||||
- http.go: The implementation of the HTTP server.
|
||||
- service: Contains the business logic code.
|
||||
- service.go: The common interface for business logic.
|
||||
- user.go: The implementation of the user business logic.
|
||||
|
||||
- pkg: Contains the public packages of the application.
|
||||
- storage: Contains the storage files of the application.
|
||||
- go.mod: The Go module file.
|
||||
- go.sum: The dependency versions file for the Go module.
|
||||
|
||||
## Requirements
|
||||
To use Nunu, you need to have the following software installed on your system:
|
||||
|
||||
* Golang 1.16 or higher
|
||||
* Git
|
||||
|
||||
### Installation
|
||||
|
||||
You can install Nunu using the following command:
|
||||
|
||||
```bash
|
||||
go install github.com/go-nunu/nunu@latest
|
||||
```
|
||||
|
||||
### Creating a New Project
|
||||
|
||||
You can create a new Golang project using the following command:
|
||||
|
||||
```bash
|
||||
nunu new projectName
|
||||
```
|
||||
|
||||
By default, it will pull from the GitHub repository, but you can also use a mirror repository for faster access:
|
||||
|
||||
```
|
||||
// Use the basic template
|
||||
nunu new projectName -r https://gitee.com/go-nunu/nunu-layout-basic.git
|
||||
// Use the advanced template
|
||||
nunu new projectName -r https://gitee.com/go-nunu/nunu-layout-advanced.git
|
||||
```
|
||||
|
||||
This command will create a directory named `projectName` and generate an elegant Golang project structure within it.
|
||||
|
||||
### Creating Components
|
||||
|
||||
You can create handlers, services, repositories, and models for your project using the following commands:
|
||||
|
||||
```bash
|
||||
nunu create handler user
|
||||
nunu create service user
|
||||
nunu create repository user
|
||||
nunu create model user
|
||||
```
|
||||
or
|
||||
```
|
||||
nunu create all user
|
||||
```
|
||||
|
||||
These commands will create components named `UserHandler`, `UserService`, `UserDao`, and `UserModel` respectively and place them in the correct directories.
|
||||
|
||||
### Starting the Project
|
||||
|
||||
You can quickly start your project using the following command:
|
||||
|
||||
```bash
|
||||
nunu run
|
||||
```
|
||||
|
||||
This command will start your Golang project and support hot-reloading of files.
|
||||
|
||||
### Compiling wire.go
|
||||
|
||||
You can quickly compile `wire.go` using the following command:
|
||||
|
||||
```bash
|
||||
nunu wire
|
||||
```
|
||||
|
||||
This command will compile your `wire.go` file and generate the required dependencies.
|
||||
|
||||
## Contribution
|
||||
|
||||
If you find any issues or have any improvement suggestions, please feel free to raise an issue or submit a pull request. Your contributions are highly appreciated!
|
||||
|
||||
## License
|
||||
|
||||
Nunu is released under the MIT License. See the [LICENSE](LICENSE) file for more information.
|
Loading…
x
Reference in New Issue
Block a user