Skip to content

Repository files navigation

initialproject

A initial flutter project by Nikesh Maharjan to app developement team. This project uses getIt for dependency injection and flavors for dev, uat & prod built. While working in new project it takes around 4 hours to setup the project. To save the time of creating project and updating project to up-to-date this initial project concept has been created.

Getting Started

Setup

  1. Fork Project from the original repository
  2. setup upstream (optional)
  3. Replace package name com.organization.initialproject with your com.yourorganization.yourprojectname. (shift+cmd+R in Android Studio and shift+cmd+H in vscode IDE)
  4. Android creates folder according to package name so we need to change that as well which is located at /android/app/src/main/kotlin
  5. Define flavor arguments for project if not already, pass dev, uat or prod in arguments field or you can run though command flutter run --flavor dev
  6. Clean the project with flutter clean ^_^
  7. Run main.dart and you should see
    Hello Devs!!
    printed on the screen with the enviornment you're using.

Instructions

  1. Router
  • Using auto_route takes flutter navigation to one step further on authenticating. Usage: Register the page inside lib/core/routes/app_router enable guards if needed (can be custom logic with custom class). For example look at core/routes/auth_guard onNavigation override method, where it can write custom login & navigate to different page from here this keeps navigation business logic in it's own way, maintains project clean architecture. Don't forget to run the build_runner command. ^_^
  1. User Interface
  • Use of ThemeData for UI styling, configuring colors, sizes, replace default styling in flutter widget. see some of already used sample /lib/config/app_theme.dart
  • While creating reusable widget use app_widget_name to make better naming. for example app_text_field, app_button, etc also keep in mind, you can modify widget with .copywith(parms) for modifying params in widget. also make sure to place them inside core/widgets/
  • You can use of styled_widget to make UI code shorter & clearer to understand. But I recommend not to use Row and Column widget from styled widget because dart widget inspection has problem recognizing it.

References

get_itinjectableflavorflutter_rest_clientsuper_module

About

A base initial project boilerplate for your flutter

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - queendevelopers/initial-project-module: A base initial project boilerplate for your flutter · GitHub
Skip to content

Repository files navigation

initialproject

A initial flutter project by Nikesh Maharjan to app developement team. This project uses getIt for dependency injection and flavors for dev, uat & prod built. While working in new project it takes around 4 hours to setup the project. To save the time of creating project and updating project to up-to-date this initial project concept has been created.

Getting Started

Setup

  1. Fork Project from the original repository
  2. setup upstream (optional)
  3. Replace package name com.organization.initialproject with your com.yourorganization.yourprojectname. (shift+cmd+R in Android Studio and shift+cmd+H in vscode IDE)
  4. Android creates folder according to package name so we need to change that as well which is located at /android/app/src/main/kotlin
  5. Define flavor arguments for project if not already, pass dev, uat or prod in arguments field or you can run though command flutter run --flavor dev
  6. Clean the project with flutter clean ^_^
  7. Run main.dart and you should see
    Hello Devs!!
    printed on the screen with the enviornment you're using.

Instructions

  1. Router
  • Using auto_route takes flutter navigation to one step further on authenticating. Usage: Register the page inside lib/core/routes/app_router enable guards if needed (can be custom logic with custom class). For example look at core/routes/auth_guard onNavigation override method, where it can write custom login & navigate to different page from here this keeps navigation business logic in it's own way, maintains project clean architecture. Don't forget to run the build_runner command. ^_^
  1. User Interface
  • Use of ThemeData for UI styling, configuring colors, sizes, replace default styling in flutter widget. see some of already used sample /lib/config/app_theme.dart
  • While creating reusable widget use app_widget_name to make better naming. for example app_text_field, app_button, etc also keep in mind, you can modify widget with .copywith(parms) for modifying params in widget. also make sure to place them inside core/widgets/
  • You can use of styled_widget to make UI code shorter & clearer to understand. But I recommend not to use Row and Column widget from styled widget because dart widget inspection has problem recognizing it.

References

get_itinjectableflavorflutter_rest_clientsuper_module

About

A base initial project boilerplate for your flutter

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - queendevelopers/initial-project-module: A base initial project boilerplate for your flutter · GitHub
Skip to content

Repository files navigation

initialproject

A initial flutter project by Nikesh Maharjan to app developement team. This project uses getIt for dependency injection and flavors for dev, uat & prod built. While working in new project it takes around 4 hours to setup the project. To save the time of creating project and updating project to up-to-date this initial project concept has been created.

Getting Started

Setup

  1. Fork Project from the original repository
  2. setup upstream (optional)
  3. Replace package name com.organization.initialproject with your com.yourorganization.yourprojectname. (shift+cmd+R in Android Studio and shift+cmd+H in vscode IDE)
  4. Android creates folder according to package name so we need to change that as well which is located at /android/app/src/main/kotlin
  5. Define flavor arguments for project if not already, pass dev, uat or prod in arguments field or you can run though command flutter run --flavor dev
  6. Clean the project with flutter clean ^_^
  7. Run main.dart and you should see
    Hello Devs!!
    printed on the screen with the enviornment you're using.

Instructions

  1. Router
  • Using auto_route takes flutter navigation to one step further on authenticating. Usage: Register the page inside lib/core/routes/app_router enable guards if needed (can be custom logic with custom class). For example look at core/routes/auth_guard onNavigation override method, where it can write custom login & navigate to different page from here this keeps navigation business logic in it's own way, maintains project clean architecture. Don't forget to run the build_runner command. ^_^
  1. User Interface
  • Use of ThemeData for UI styling, configuring colors, sizes, replace default styling in flutter widget. see some of already used sample /lib/config/app_theme.dart
  • While creating reusable widget use app_widget_name to make better naming. for example app_text_field, app_button, etc also keep in mind, you can modify widget with .copywith(parms) for modifying params in widget. also make sure to place them inside core/widgets/
  • You can use of styled_widget to make UI code shorter & clearer to understand. But I recommend not to use Row and Column widget from styled widget because dart widget inspection has problem recognizing it.

References

get_itinjectableflavorflutter_rest_clientsuper_module

About

A base initial project boilerplate for your flutter

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - queendevelopers/initial-project-module: A base initial project boilerplate for your flutter · GitHub
Skip to content

Repository files navigation

initialproject

A initial flutter project by Nikesh Maharjan to app developement team. This project uses getIt for dependency injection and flavors for dev, uat & prod built. While working in new project it takes around 4 hours to setup the project. To save the time of creating project and updating project to up-to-date this initial project concept has been created.

Getting Started

Setup

  1. Fork Project from the original repository
  2. setup upstream (optional)
  3. Replace package name com.organization.initialproject with your com.yourorganization.yourprojectname. (shift+cmd+R in Android Studio and shift+cmd+H in vscode IDE)
  4. Android creates folder according to package name so we need to change that as well which is located at /android/app/src/main/kotlin
  5. Define flavor arguments for project if not already, pass dev, uat or prod in arguments field or you can run though command flutter run --flavor dev
  6. Clean the project with flutter clean ^_^
  7. Run main.dart and you should see
    Hello Devs!!
    printed on the screen with the enviornment you're using.

Instructions

  1. Router
  • Using auto_route takes flutter navigation to one step further on authenticating. Usage: Register the page inside lib/core/routes/app_router enable guards if needed (can be custom logic with custom class). For example look at core/routes/auth_guard onNavigation override method, where it can write custom login & navigate to different page from here this keeps navigation business logic in it's own way, maintains project clean architecture. Don't forget to run the build_runner command. ^_^
  1. User Interface
  • Use of ThemeData for UI styling, configuring colors, sizes, replace default styling in flutter widget. see some of already used sample /lib/config/app_theme.dart
  • While creating reusable widget use app_widget_name to make better naming. for example app_text_field, app_button, etc also keep in mind, you can modify widget with .copywith(parms) for modifying params in widget. also make sure to place them inside core/widgets/
  • You can use of styled_widget to make UI code shorter & clearer to understand. But I recommend not to use Row and Column widget from styled widget because dart widget inspection has problem recognizing it.

References

get_itinjectableflavorflutter_rest_clientsuper_module

About

A base initial project boilerplate for your flutter

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - queendevelopers/initial-project-module: A base initial project boilerplate for your flutter · GitHub
Skip to content

Repository files navigation

initialproject

A initial flutter project by Nikesh Maharjan to app developement team. This project uses getIt for dependency injection and flavors for dev, uat & prod built. While working in new project it takes around 4 hours to setup the project. To save the time of creating project and updating project to up-to-date this initial project concept has been created.

Getting Started

Setup

  1. Fork Project from the original repository
  2. setup upstream (optional)
  3. Replace package name com.organization.initialproject with your com.yourorganization.yourprojectname. (shift+cmd+R in Android Studio and shift+cmd+H in vscode IDE)
  4. Android creates folder according to package name so we need to change that as well which is located at /android/app/src/main/kotlin
  5. Define flavor arguments for project if not already, pass dev, uat or prod in arguments field or you can run though command flutter run --flavor dev
  6. Clean the project with flutter clean ^_^
  7. Run main.dart and you should see
    Hello Devs!!
    printed on the screen with the enviornment you're using.

Instructions

  1. Router
  • Using auto_route takes flutter navigation to one step further on authenticating. Usage: Register the page inside lib/core/routes/app_router enable guards if needed (can be custom logic with custom class). For example look at core/routes/auth_guard onNavigation override method, where it can write custom login & navigate to different page from here this keeps navigation business logic in it's own way, maintains project clean architecture. Don't forget to run the build_runner command. ^_^
  1. User Interface
  • Use of ThemeData for UI styling, configuring colors, sizes, replace default styling in flutter widget. see some of already used sample /lib/config/app_theme.dart
  • While creating reusable widget use app_widget_name to make better naming. for example app_text_field, app_button, etc also keep in mind, you can modify widget with .copywith(parms) for modifying params in widget. also make sure to place them inside core/widgets/
  • You can use of styled_widget to make UI code shorter & clearer to understand. But I recommend not to use Row and Column widget from styled widget because dart widget inspection has problem recognizing it.

References

get_itinjectableflavorflutter_rest_clientsuper_module

About

A base initial project boilerplate for your flutter

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - queendevelopers/initial-project-module: A base initial project boilerplate for your flutter · GitHub
Skip to content

Repository files navigation

initialproject

A initial flutter project by Nikesh Maharjan to app developement team. This project uses getIt for dependency injection and flavors for dev, uat & prod built. While working in new project it takes around 4 hours to setup the project. To save the time of creating project and updating project to up-to-date this initial project concept has been created.

Getting Started

Setup

  1. Fork Project from the original repository
  2. setup upstream (optional)
  3. Replace package name com.organization.initialproject with your com.yourorganization.yourprojectname. (shift+cmd+R in Android Studio and shift+cmd+H in vscode IDE)
  4. Android creates folder according to package name so we need to change that as well which is located at /android/app/src/main/kotlin
  5. Define flavor arguments for project if not already, pass dev, uat or prod in arguments field or you can run though command flutter run --flavor dev
  6. Clean the project with flutter clean ^_^
  7. Run main.dart and you should see
    Hello Devs!!
    printed on the screen with the enviornment you're using.

Instructions

  1. Router
  • Using auto_route takes flutter navigation to one step further on authenticating. Usage: Register the page inside lib/core/routes/app_router enable guards if needed (can be custom logic with custom class). For example look at core/routes/auth_guard onNavigation override method, where it can write custom login & navigate to different page from here this keeps navigation business logic in it's own way, maintains project clean architecture. Don't forget to run the build_runner command. ^_^
  1. User Interface
  • Use of ThemeData for UI styling, configuring colors, sizes, replace default styling in flutter widget. see some of already used sample /lib/config/app_theme.dart
  • While creating reusable widget use app_widget_name to make better naming. for example app_text_field, app_button, etc also keep in mind, you can modify widget with .copywith(parms) for modifying params in widget. also make sure to place them inside core/widgets/
  • You can use of styled_widget to make UI code shorter & clearer to understand. But I recommend not to use Row and Column widget from styled widget because dart widget inspection has problem recognizing it.

References

get_itinjectableflavorflutter_rest_clientsuper_module

About

A base initial project boilerplate for your flutter

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - queendevelopers/initial-project-module: A base initial project boilerplate for your flutter · GitHub
Skip to content

Repository files navigation

initialproject

A initial flutter project by Nikesh Maharjan to app developement team. This project uses getIt for dependency injection and flavors for dev, uat & prod built. While working in new project it takes around 4 hours to setup the project. To save the time of creating project and updating project to up-to-date this initial project concept has been created.

Getting Started

Setup

  1. Fork Project from the original repository
  2. setup upstream (optional)
  3. Replace package name com.organization.initialproject with your com.yourorganization.yourprojectname. (shift+cmd+R in Android Studio and shift+cmd+H in vscode IDE)
  4. Android creates folder according to package name so we need to change that as well which is located at /android/app/src/main/kotlin
  5. Define flavor arguments for project if not already, pass dev, uat or prod in arguments field or you can run though command flutter run --flavor dev
  6. Clean the project with flutter clean ^_^
  7. Run main.dart and you should see
    Hello Devs!!
    printed on the screen with the enviornment you're using.

Instructions

  1. Router
  • Using auto_route takes flutter navigation to one step further on authenticating. Usage: Register the page inside lib/core/routes/app_router enable guards if needed (can be custom logic with custom class). For example look at core/routes/auth_guard onNavigation override method, where it can write custom login & navigate to different page from here this keeps navigation business logic in it's own way, maintains project clean architecture. Don't forget to run the build_runner command. ^_^
  1. User Interface
  • Use of ThemeData for UI styling, configuring colors, sizes, replace default styling in flutter widget. see some of already used sample /lib/config/app_theme.dart
  • While creating reusable widget use app_widget_name to make better naming. for example app_text_field, app_button, etc also keep in mind, you can modify widget with .copywith(parms) for modifying params in widget. also make sure to place them inside core/widgets/
  • You can use of styled_widget to make UI code shorter & clearer to understand. But I recommend not to use Row and Column widget from styled widget because dart widget inspection has problem recognizing it.

References

get_itinjectableflavorflutter_rest_clientsuper_module

About

A base initial project boilerplate for your flutter

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - queendevelopers/initial-project-module: A base initial project boilerplate for your flutter · GitHub
Skip to content

Repository files navigation

initialproject

A initial flutter project by Nikesh Maharjan to app developement team. This project uses getIt for dependency injection and flavors for dev, uat & prod built. While working in new project it takes around 4 hours to setup the project. To save the time of creating project and updating project to up-to-date this initial project concept has been created.

Getting Started

Setup

  1. Fork Project from the original repository
  2. setup upstream (optional)
  3. Replace package name com.organization.initialproject with your com.yourorganization.yourprojectname. (shift+cmd+R in Android Studio and shift+cmd+H in vscode IDE)
  4. Android creates folder according to package name so we need to change that as well which is located at /android/app/src/main/kotlin
  5. Define flavor arguments for project if not already, pass dev, uat or prod in arguments field or you can run though command flutter run --flavor dev
  6. Clean the project with flutter clean ^_^
  7. Run main.dart and you should see
    Hello Devs!!
    printed on the screen with the enviornment you're using.

Instructions

  1. Router
  • Using auto_route takes flutter navigation to one step further on authenticating. Usage: Register the page inside lib/core/routes/app_router enable guards if needed (can be custom logic with custom class). For example look at core/routes/auth_guard onNavigation override method, where it can write custom login & navigate to different page from here this keeps navigation business logic in it's own way, maintains project clean architecture. Don't forget to run the build_runner command. ^_^
  1. User Interface
  • Use of ThemeData for UI styling, configuring colors, sizes, replace default styling in flutter widget. see some of already used sample /lib/config/app_theme.dart
  • While creating reusable widget use app_widget_name to make better naming. for example app_text_field, app_button, etc also keep in mind, you can modify widget with .copywith(parms) for modifying params in widget. also make sure to place them inside core/widgets/
  • You can use of styled_widget to make UI code shorter & clearer to understand. But I recommend not to use Row and Column widget from styled widget because dart widget inspection has problem recognizing it.

References

get_itinjectableflavorflutter_rest_clientsuper_module

About

A base initial project boilerplate for your flutter

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages