Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/CoderVlogger/go-web-frameworks

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/CoderVlogger/go-web-frameworks

  • v0.0.0-20220316213317-1dd6ca6a3cba
  • Source
  • Go
  • Socket score

Version published
Created
Source

go-web-frameworks

Example web application projects with top popular and recently active Go lang web frameworks and toolkits.

I am implementing the same features in all frameworks and compare them occasionally.

Currently checking:

  • gin
  • echo
  • iris
  • fiber
  • micro
  • goa
  • gorilla

Table of Contents

Project Structure

This repository is a monorepo, which means it contains all the packages in the same repository.

In the root directory, there is a folder for each web framework. These folders contain the most recent state of the demo project for a given framework. For example, directory fiber is the current final state of the project for the Fiber web framework.

Additionally, in _step_by_step and _steps_by_topics directories, you can final tutorial steps grouped by framework and topics accordingly.

Additionally,

  • api directory contains API specifications as a README file.
  • pkg directory contains a separate Go package used as a shared code for errors, models, and storage layer.

Go Project Layout

Check [STRUCTURE.md][] for information about the Go project layout for each demo app.

Features

List of checked features:

  • "Hello, World!" and simple JSON response;
  • CRUD JSON API for the example entity;
  • Paging and error handling;
  • Parsing query params;
  • Accepting and parsing form data;
  • Exposing static assets via an endpoint;
  • Building website pages with templates;
  • MVC Pattern (model, view, controller);
  • Authentication and Authorization;
  • Documentation and Swagger;
  • Framework specific testing (if there is anything);
  • Optimization (e.g. compression with GZIP);
  • Security (CORS for example);

Additionaly, some examples with:

  • CI/CD using GitHub Actions;
  • Logging, tracing, and metrics;
  • Docker and Docker Compos;
  • Database and ORM;
  • Work with MySQL;
  • Work with PostgreSQL;
  • Work with MongoDB;
  • Work with Redis;
  • Work with Kafka;

Current Progress

Featureginechoirisfibermicrogoagorilla
Final Project Structure👷🏼‍♂️👷🏼‍♂️
"Hello, World!" and simple JSON response
CRUD JSON API for the example entity
Paging and error handling
Parsing query params
Accepting and parsing form data👷🏼‍♂️👷🏼‍♂️
Exposing static assets via an endpoint👷🏼‍♂️
Building website pages with templates👷🏼‍♂️
MVC Pattern (model, view, controller)
Authentication and Authorization

Live Streams

I host live streams on YouTube, Twitch, and Facebook Watch about building this project. Follow me on Twitter for announcements.

Accompanied Blog Post

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

YouTube Playlists

Full Tutorials
Video Tutorials & Short Clips
Live Stream Playlists

FAQs

Package last updated on 16 Mar 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc