Skip to content

Instantly share code, notes, and snippets.

View ruan65's full-sized avatar
🎯
Focusing

Andrew ruan65

🎯
Focusing
View GitHub Profile
@ruan65
ruan65 / create_flutter_app.sh
Last active May 21, 2020 11:57
Flutter snippets
flutter run -d chrome --release --dart-define=FLUTTER_WEB_USE_SKIA=true
flutter create --org org.premiumapp -i swift -a kotlin --description 'description' app_name
flutter create --org ru.emc.flutter.qr -i swift -a kotlin --description 'flutter emc application' flutter_emc_qr
flutter create --org ru.finam -i swift -a kotlin --description 'grpc chat widget' txchatwidget
flutter create -t module --org ru.finam -i swift -a kotlin --description 'grpc chat widget library' txchatwidget
pub global activate protoc_plugin
protoc --dart_out=. addressbook.proto /usr/local/Cellar/protobuf/3.7.1/include/google/protobuf/timestamp.proto
<!doctype html>
<html>
<head>
<title>TradeIt oAuth Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<style>
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
@ruan65
ruan65 / Flutter_snipets.dart
Last active December 13, 2019 08:41
common use snippets in dart
// To put bottom sheet into Stack (close on back press)
WidgetsBinding.instance.addPostFrameCallback((_) {
_scaffoldKey.currentState.showBottomSheet<void>(_bottomSheetBuilder);
});
// screen sizes
const i5s = Size(320.0, 568.0);
const i8 = Size(375.0, 667.0)
// rounded button
@ruan65
ruan65 / dragableBottomSheetExample.dart
Created December 18, 2019 15:53
dragableBottomSheetExample.dart
import 'package:flutter/material.dart';
import 'package:novoadvisor/commons/screen_size_helpers.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
PersistentBottomSheetController _controller;
@ruan65
ruan65 / home_screen.dart
Last active December 25, 2019 11:19
Example of screen with DraggableScrollableSheet
import 'package:flutter/material.dart';
import 'package:someapp/commons/screen_size_helpers.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
PersistentBottomSheetController _controller;
@ruan65
ruan65 / autotest.dart
Created April 29, 2020 09:00
flutter autotest example
loginLogoutTest() {
group('app', () {
FlutterDriver driver;
setUpAll(() async {
driver = await FlutterDriver.connect();
});
tearDownAll(() async {
if (driver != null) {
@ruan65
ruan65 / ui_helpers.dart
Last active May 1, 2020 16:54
Flutter UI Helpers
import 'package:flutter/material.dart';
abstract class ScreenSize {
static Size size(BuildContext context) {
return MediaQuery.of(context).size;
}
static double height(BuildContext context,
{double dividedBy = 1, double reducedBy = 0.0}) {
return (ScreenSize.size(context).height - reducedBy) / dividedBy;
@ruan65
ruan65 / firebase_storage_image.dart
Created June 7, 2020 05:40
A Widget shows an image downloaded from a Firebase Storage.
import 'package:firebase_storage/firebase_storage.dart';
import 'package:flutter/material.dart';
import 'package:meta/meta.dart';
enum ImageDownloadState { Idle, GettingURL, Downloading, Done, Error }
class FirebaseStorageImage extends StatefulWidget {
/// The reference of the image that has to be loaded.
final StorageReference reference;
/// The widget that will be displayed when loading if no [placeholderImage] is set.
@ruan65
ruan65 / problem_solving.md
Created June 24, 2020 08:58
problem solving

problem solving:

  • think about the big picture

  • if the big picture is visual, do a sketch

  • break the problem into smaller problems

  • brainstorm solutions to those smaller problems

  • experiment

  • solve

  • combine smaller solutions together for a big solution

  • refine overall solution