Skip to content

Instantly share code, notes, and snippets.

View iamEtornam's full-sized avatar
:octocat:
Focusing

Bright Etornam Sunu iamEtornam

:octocat:
Focusing
View GitHub Profile
@iamEtornam
iamEtornam / imageUploader.js
Created June 26, 2020 17:16
uploading files to aws s3 bucket using nodejs
const express = require('express');
const router = express.Router();
const upload = require('../services/uploder_service');
const singleUpload = upload.single('image');
router.post('/image-upload', function(req, res) {
singleUpload(req, res, function(err) {
@iamEtornam
iamEtornam / build.grade
Created July 27, 2020 15:53
Include both 32bit and 64bit arm libflutter.so files into your APK
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def keystorePropertiesFile = rootProject.file("keystore.properties") //signing key
def keystoreProperties = new Properties()
@iamEtornam
iamEtornam / main.dart
Last active October 22, 2020 18:02
Generate dynamic initial route in Flutter
import 'package:flutter/material.dart';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
@iamEtornam
iamEtornam / sms_sender.js
Last active August 16, 2021 20:56
How to send sms using AWS SNS service in javascript
'use strict';
const AWS = require('aws-sdk');
AWS.config.update({
secretAccessKey: process.env.secretAccessKey,
accessKeyId: process.env.accessKeyId,
region: process.env.region
});
const sendSms = function (event, context, callback) {
@iamEtornam
iamEtornam / example.dart
Created November 26, 2020 13:28
Getting range of a List and rendering it in ListViewBuilder
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
@iamEtornam
iamEtornam / navigator_extension.dart
Last active September 30, 2021 09:09
A navigator extension that checks if a route is already the current route hence no action is taken
```dart
import 'package:flutter/material.dart';
extension NavigatorStateExtension on NavigatorState {
void pushNamedIfNotCurrent( String routeName, {Object arguments} ) {
if (!isCurrent(routeName)) {
pushNamed( routeName, arguments: arguments );
}
@iamEtornam
iamEtornam / firebase_file_uploader.dart
Last active January 29, 2022 11:24
A simple code snippet to upload any file type to firebase storage
```dart
import 'package:mime/mime.dart'; //add mime to pubspec.yaml
import 'package:uuid/uuid.dart'; //add uuid to pubspec.yaml
import 'package:firebase_storage/firebase_storage.dart'; //add firebase storage to pubspec.yaml
import 'package:path/path.dart'; //add path to pubspec.yaml
final firebaseStorage = FirebaseStorage.instance;
Future uploadFile({required File file}) async {
const uuid = Uuid();
@iamEtornam
iamEtornam / auth_controller.dart
Last active February 15, 2022 15:38
a flutter controller with firebase auth, storage, firestore usage
```dart
import 'package:firebase_auth/firebase_auth.dart';
abstract class AuthController {
Future<bool> loginUser(String email, String password);
Future<bool> logout();
}
class AuthControllerImpl implements AuthController {
@iamEtornam
iamEtornam / release_asset.yml
Created March 20, 2022 15:00
Github actions for Flutter app
name: Release assets
on:
release:
types: [published]
workflow_dispatch:
jobs:
release-asset:
name: Release (foss)
@iamEtornam
iamEtornam / layoutbuilder_example.dart
Last active October 2, 2022 11:23
How to use MediaQuery in Flutter to determine responsiveness
import 'package:flutter/material.dart';
class LayoutBuilderExample extends StatelessWidget {
const LayoutBuilderExample({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('LayoutBuilder Example')),
body: LayoutBuilder(builder: (context, constraints) {