Skip to content

Latest commit

 

History

History
157 lines (124 loc) · 5.35 KB

File metadata and controls

157 lines (124 loc) · 5.35 KB

Dockerized Flutter(web) + Golang(Gin) + PostgreSQL(with GORM) + Redis --> Template


This repository is a fully dockerized application, which by default is a web app, but modyfing Dockerfiles lets to run it on mobile device too. Front-end is written in Flutter , Back-end in Golang with Gin framework. Databases are PostgreSQL (with GORM) and Redis ( Redigo ). Reverse proxy with Nginx . It contains simple CRUD functions for both, Postgresql and Redis. Back-end is finished, Front-end has only fetch functions implemented.



Found it useful? Want more updates?

Show your support by giving a ⭐



How to launch it locally?

Note the difference in containers name on the video - fggp was updated to flutter_web_fullstack_boilerplate

You can also ue instructions below.


1. Make sure that you have docker and docker-compose installed on your machine.


2. Clone the repository to the folder of your choice, by executing: git clone hhttps://github.com/wzslr321/flutter_web_fullstack_boileplate.git in the console.


3. Navigate to "/" path of cloned repository. To ensure that you are in a right place, run ls. Outpout should look like this:

LICENSE README.md all_lint_rules.yaml analysis_options.yaml app data docker-compose.yml env nginx server

4. Run : docker-compose up --build in the console.


5. Wait for the docker installation to complete. It probably is going to take some time, depending on your internet connection.


When the installation will be finished, you should see this output: img


Now just head to the http://0.0.0.0/#/ in the browser too see the website!

Project tree ( without meaningless files)

|├── all_lint_rules.yaml
├── analysis_options.yaml
├── app
│   ├── 
│   ├── assets
│   │   ├── fonts
│   │   └── images
│   ├── Dockerfile
│   ├── lib
│   │   ├── components
│   │   │   └── form
│   │   │       ├── form.dart
│   │   │       └── form_field.dart
│   │   ├── constants.dart
│   │   ├── main.dart
│   │   ├── models
│   │   │   ├── announcements
│   │   │   │   ├── announcement_class.dart
│   │   │   │   └── announcement_list.dart
│   │   │   ├── http_exception.dart
│   │   │   ├── posts
│   │   │   │   ├── post_class.dart
│   │   │   │   ├── post_id_response.dart
│   │   │   │   └── posts_list.dart
│   │   │   └── provider_exception.dart
│   │   ├── providers
│   │   │   ├── announcements_provider.dart
│   │   │   └── posts_provider.dart
│   │   └── screens
│   │       ├── announcements_screen
│   │       │   ├── announcements_screen.dart
│   │       │   └── widgets
│   │       │       ├── announcement_field.dart
│   │       │       └── announcement_item.dart
│   │       ├── home_screen
│   │       │   └── home_screen.dart
│   │       ├── loading_screen.dart
│   │       ├── page_not_found_screen
│   │       │   └── page_not_found.dart
│   │       └── posts_screen
│   │           ├── posts_screen.dart
│   │           └── widgets
│   │               ├── post_field.dart
│   │               └── post_item.dart
│   ├── pubspec.yaml
│   ├── README.md
│   └── web
│       ├── index.html
│       └── manifest.json
├── docker-compose.yml
├── env
│   ├── flutter.env
│   └── postgre.env
├── nginx
│   ├── Dockerfile
│   └── nginx.conf
└── server
    ├── air.conf
    ├── conf
    │   └── app.ini
    ├── database
    │   ├── postgres
    │   │   ├── funcs
    │   │   │   └── posts.go
    │   │   └── postgres.go
    │   └── redis
    │       ├── funcs
    │       │   ├── announcements.go
    │       │   └── majors.go
    │       └── redis.go
    ├── Dockerfile
    ├── main.go
    ├── main_test.go
    ├── models
    │   ├── announcement.go
    │   └── post.go
    ├── routers
    │   ├── api
    │   │   ├── announcements.go
    │   │   └── posts.go
    │   └── router.go
    ├── settings
    │   └── settings.go