diff --git a/README.md b/README.md new file mode 100644 index 0000000..5c8d7f8 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# GoWeb + +GoWeb is a simple Go web framework that aims to only use the standard library. The overall file structure and +development flow is inspired by larger frameworks like Laravel. It is partially ready for smaller projects if you are +fine with getting your hands dirty, but I plan on having it ready to go for more serious projects when it hits version +2.0. + +
+ +## Current features + +- Routing/controllers +- Templating +- Simple database migration system +- CSRF protection +- Minimal user login/registration + sessions +- Config file handling +- Entire website compiles into a single binary (~10mb) (excluding env.json) +- Minimal dependencies (just standard library, postgres driver, and experimental package for bcrypt) + +
+ +## When to use + +- You need to build a dynamic web application with persistent data +- You need to build a dynamic website using Go and need a good starting point +- You need to build an API in Go and don't know where to start +- Pretty much any use-case where you would use Laravel, Django, or Flask + +## When not to use + +- You need a static website (see [Hugo](https://gohugo.io/)) +- You need a simple blog (see [Hugo](https://gohugo.io/)) +- You need a simple site for your projects' documentation (see [Hugo](https://gohugo.io/)) + +## How to use + +1. Clone +2. Run `go get` to install dependencies +3. Copy env_example.json to env.json and fill in the values +4. Run `go run main.go` to start the server +5. Start building your app! + +### License and disclaimer + +- You are free to use this project under the terms of the MIT license. See LICENSE for more details. +- You and you alone are responsible for the security and everything else regarding your application. +- It is not required, but I ask that when you use this project you give me credit by linking to this repository. +- I also ask that when releasing self-hosted or other end-user applications that you release it under + the [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html) license. This too is not required, but I would appreciate it. \ No newline at end of file