|
1 | 1 | # go-web-frameworks |
2 | 2 |
|
3 | | -Demo web application project with every popular and recently active Go lang web frameworks and toolkits. |
| 3 | +Example web application projects with top popular and recently active Go lang web frameworks and toolkits. |
4 | 4 |
|
5 | | -Currently I am checking: [gin](https://github.com/gin-gonic/gin), [echo](https://github.com/labstack/echo), [iris](https://github.com/kataras/iris), [fiber](https://github.com/gofiber/fiber), [micro](https://github.com/micro/micro), [goa](https://github.com/goadesign/goa), [gorilla](https://github.com/gorilla/); |
| 5 | +I will implement the same features in all frameworks and compare them occasionally. |
6 | 6 |
|
7 | | -### 👉🏼 Learn more [Go Web Frameworks and Toolkits](https://www.codervlogger.com/go-web-frameworks-and-toolkits/) |
| 7 | +Currently checking: |
8 | 8 |
|
9 | | -## Progress |
| 9 | +- [gin](https://github.com/gin-gonic/gin) |
| 10 | +- [echo](https://github.com/labstack/echo) |
| 11 | +- [iris](https://github.com/kataras/iris) |
| 12 | +- [fiber](https://github.com/gofiber/fiber) |
| 13 | +- [micro](https://github.com/micro/micro) |
| 14 | +- [goa](https://github.com/goadesign/goa) |
| 15 | +- [gorilla](https://github.com/gorilla/); |
| 16 | + |
| 17 | +## Related Resources |
| 18 | + |
| 19 | +### Live Streams |
| 20 | + |
| 21 | +I host live streams on [YouTube][codervlogger-youtube-live], [Twitch][codervlogger-twitch-live], and [Facebook Watch][codervlogger-facebook-live] about building this project. Follow me on [Twitter][codervlogger-twitter] for announcements. |
| 22 | + |
| 23 | +### Accompanied Blog Post |
| 24 | + |
| 25 | +Three is also a dedicated blog post where I gather all related tutorials and learning materials in one place. Learn more: [Go Web Frameworks and Toolkits][codervlogger-goweb] |
| 26 | + |
| 27 | +## Features |
| 28 | + |
| 29 | +List of checked features: |
| 30 | + |
| 31 | +- "Hello, World!" and simple JSON response; |
| 32 | +- CRUD JSON API for [the example entity][folder-pkg]; |
| 33 | +- Paging and error handling; |
| 34 | +- Parsing query params; |
| 35 | +- Accepting and parsing form data; |
| 36 | +- Exposing static assets via an endpoint; |
| 37 | +- Building website pages with templates; |
| 38 | +- MVC Pattern (model, view, controller); |
| 39 | +- Authentication and Authorization; |
| 40 | + |
| 41 | +Additionaly, some examples with: |
| 42 | +- Logging, tracing, and metrics; |
| 43 | +- Docker and Docker Compos; |
| 44 | +- Database and ORM; |
| 45 | +- Work with MySQL; |
| 46 | +- Work with PostgreSQL; |
| 47 | +- Work with MongoDB; |
| 48 | +- Work with Redis; |
| 49 | +- Work with Kafka; |
| 50 | + |
| 51 | +## Current Progress |
10 | 52 |
|
11 | 53 | ### gin |
12 | 54 |
|
13 | 55 | Not started yet. |
14 | 56 |
|
15 | 57 | ### echo |
16 | 58 |
|
17 | | -| Feature | Status | ・ | Feature | Status | |
18 | | -|-------------------------------|--------|---|-------------------------------|--------| |
19 | | -| CRUD Endpoints | [ ✅ ] | ・ | Log / Trace / Metrics | [ 👨🏼💻 ] | |
20 | | -| Form / File Upload | [ 👨🏼💻 ] | ・ | Docker / Docker Compose | [ 👷🏼♂️ ] | |
21 | | -| Auth / JWT | [ 👨🏼💻 ] | ・ | Database / ORM | [ 👨🏼💻 ] | |
22 | | -| Security / CORS | [ 👨🏼💻 ] | ・ | Work with MySQL | [ 👨🏼💻 ] | |
23 | | -| Optimization / GZIP | [ 👨🏼💻 ] | ・ | Work with PostgreSQL | [ 👨🏼💻 ] | |
24 | | -| Testing | [ 👨🏼💻 ] | ・ | Work with MongoDB | [ 👨🏼💻 ] | |
25 | | -| Load testing / Benchmark | [ 👨🏼💻 ] | ・ | Work with Redis | [ 👨🏼💻 ] | |
26 | | -| Documentation / Swagger | [ 👨🏼💻 ] | ・ | Work with Kafka | [ 👨🏼💻 ] | |
27 | | - |
| 59 | +| Status | Feature | |
| 60 | +|-|-| |
| 61 | +| 👨🏼💻 | "Hello, World!" and simple JSON response | |
| 62 | +| 👨🏼💻 | CRUD JSON API for [the example entity][folder-pkg] | |
| 63 | +| 👨🏼💻 | Paging and error handling | |
| 64 | +| 👨🏼💻 | Parsing query params | |
| 65 | +| 👨🏼💻 | Accepting and parsing form data | |
| 66 | +| 👨🏼💻 | Exposing static assets via an endpoint | |
| 67 | +| 👨🏼💻 | Building website pages with templates | |
| 68 | +| 👨🏼💻 | MVC Pattern (model, view, controller) | |
| 69 | +| 👨🏼💻 | Authentication and Authorization | |
28 | 70 |
|
29 | 71 | ### iris |
30 | 72 |
|
@@ -54,3 +96,10 @@ Not started yet. |
54 | 96 | ### gorilla |
55 | 97 |
|
56 | 98 | Not started yet. |
| 99 | + |
| 100 | +[folder-pkg]: https://github.com/CoderVlogger/go-web-frameworks/tree/main/pkg "Shared package" |
| 101 | +[codervlogger-goweb]: https://www.codervlogger.com/go-web-frameworks-and-toolkits/ "Go Web Frameworks and Toolkits" |
| 102 | +[codervlogger-youtube-live]: https://www.youtube.com/channel/UCYsloGIkGmSzk2pw6yf6_Gw/live "YouTube" |
| 103 | +[codervlogger-twitch-live]: https://www.twitch.tv/codervlogger "Twitch" |
| 104 | +[codervlogger-facebook-live]: https://www.facebook.com/CoderVlogger/live_videos/ "Facebook Watch" |
| 105 | +[codervlogger-twitter]: https://twitter.com/KenanBekk "Twitter" |
0 commit comments