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 ⭐
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
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:
|├── 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