> View DEMO Video About project This project" /> > View DEMO Video About project This project" /> > View DEMO Video About project This project"/>

Personal Knowledge Base (PKB). Flutter Responsive Web, Desktop, Android, iOS app. MobX as state management.

Overview

PKB - Responsive Flutter Web / Desktop / Android / iOS

"Personal Knowledge Base" app written on Flutter.

>> View DEMO Video

About project

This project was originally made on Django many years ago, then ported to React Web PWA and as of September, 2021 ported to Flutter.

95% of time I use it on Desktop, so compiled it to Mac desktop app.

Also deployed Web PWA to server to use it on any other devices (phones, tablets). Web and Mac are ready for use, everything else is supported, but not tested.

PKB has simple and comfortable UI that allows to find anything in few seconds.

I use this UI setup for more than 5 years since it was made on React.

Items (notes) on the left side, tags on the right side and content in the middle.

Features.

  • authentication
  • multi-users with admin access to share with your team members when needed
  • tags
  • content items (notes)
  • quick search
  • keyboard shortcuts
  • uploading images and storing on AWS S3

Json config that hidden in gitignore

assets/json/config.json

", "sentryDSN": " ", "bucketUrl": "https:// .s3.amazonaws.com" } ">
{
    "apiUrl": "https://
      
       ",
    "sentryDSN": "
       
        ",
    "bucketUrl": "https://
        
         .s3.amazonaws.com"
}

        
       
      

Keyboard shortcuts

All shorcuts are listed in app_shortcuts.dart and self explanatory.

I can't opensource backend, it is small part of bigger project.

But backend (REST API) is very simple to implement.

Backend models are matched to frontend models: user.dart, tag.dart, item.dart.

User model on backend additionally has user_id field (user who created content item).

Endpoints (see config.dart)

Login endpoint.

POST request.
Params: email, password
Response (200): token

User profile endpoint.

GET request.
Response (200): User model.

Users endpoint

GET request.
Response (200): List of User model.

Tags endpoint

GET request
Response (200): List of Tag model.

Items endpoint

GET request

Filter params:

search: string (search phrase)
user_id: int (filter by user)
tag_ids: string (comma separated tag ids)

Response (200): List of Item model.


POST request (create item)

Input params:

name: string
content: string
tag_ids: list of ints

Response (201): Created Item model.

Item detail endpoint

GET request
Response: Item model.

PATCH request (update item)

Input params:

content string
tag_ids: string (list of ints)

Response (200): Updated Item model.

DELETE request
Response (204)

Sign S3 upload (if you need working with images) The endpoint is used to sign url for upload to S3

POST request

Input params:

filename: string
content_type: string

Response (200):

signed_url: url that will be used by Flutter ap for uploading image to AWS S3.
upload_to: the path inside AWS S3 bucket where file will be stored.

https://
   
    .s3.amazonaws.com/
    

    
   

Content items (notes) are stored in database on backend in markdown format. Flutter app shows content as rendered HTML using flutter_html package. I do markdown to HTML convertion on backend using markdown Python library, but optionally you can do convertion on Flutter using flutter_markdown package.

You might also like...

Learn Flutter in 30 Days

flutter_catalog A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Dec 29, 2022

Flutter tips and tricks to make the development smoother and easier

Flutter tips and tricks to make the development smoother and easier

Table of Contents Custom Clippers in Flutter Check if Website is Up or Down in Dart Section Titles on ListView in Flutter Circular Progress in Flutter

Oct 11, 2022

An awesome Flutter 3d project by Flutter_Cube package

flutter3d A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Oct 26, 2021

Flutter Tutorial - Speech To Text & Voice Recognition

Flutter Tutorial - Speech To Text & Voice Recognition

Flutter Tutorial - Speech To Text & Voice Recognition Let's build a Speech To Text Flutter app which recognizes & analyzes your words to execute comma

Nov 3, 2021

A Collection of Flutter and Dart Tips and Tricks

A Collection of Flutter and Dart Tips and Tricks

A Collection of Flutter and Dart Tips and Tricks

Dec 27, 2022

A Flutter implementation of an expandable and animated floating search bar, also known as persistent search.

A Flutter implementation of an expandable and animated floating search bar, also known as persistent search.

Material Floating Search Bar A Flutter implementation of an expandable floating search bar, also known as persistent search, similar to the ones used

Mar 3, 2022

A curated list of awesome cheats needed to quickly get started with flutter development.

dart-cheat-sheet A curated list of awesome stuff needed to get started with your flutter development journey Table of Contents String interpolation Fu

Jan 2, 2023

A flexible multi select package for Flutter. Make multi select widgets the way you want.

A flexible multi select package for Flutter. Make multi select widgets the way you want.

Multi Select Flutter Multi Select Flutter is a package for creating multi-select widgets in a variety of ways. Dialog BottomSheet ChoiceChip Features

Dec 20, 2022

Amazon Bookshelf Interface Design made in Flutter

amazon_ui_clone A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Nov 25, 2021
Comments
  • Instructions on how to run this on ubuntu / deploy

    Instructions on how to run this on ubuntu / deploy

    Please, could you elaborate on instructions how to run this on ubuntu. And how to deploy it as a service. Do I just need to build this somehow and put behind webserver as a reverse proxy?

    I have no experience running flutter apps.

    opened by kittyandrew 2
Owner
Vladimir
Vladimir
Flutter Portfolio App Concept - Day 33

Flutter Portfolio App Concept - Day 33

Mohammad Rahmani 29 Nov 10, 2022
Animal Sounds App written in flutter for the #100daysOfCode

animalsounds A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Antonio Giordano 0 Jan 9, 2022
App concept created with Flutter using Dart programming language, inspired by Multi Search By Categories.

Photography Explorer Flutter App App concept created with Flutter using Dart programming language, inspired by Multi Search By Categories. About This

Wilton Neto 103 Sep 28, 2022
Demo App

Mi Card Our Goal Now that you've seen how to create a Flutter app entirely from scratch, we're going to go further and learn more about how to design

Albusaidy Yassin 0 Nov 23, 2021
How to implement search functionality in any app with material design

Material Search App or Integrate it with Any App A new Flutter project. Getting Started This project is a starting point for a Flutter application. A

Iqrar Ijaz 1 Aug 23, 2022
❤️Flutter ❤️ tips and tricks ❤️ Awesome Flutter ❤️ tips and tricks ❤️

❤️ Awesome Flutter ❤️ tips and tricks ❤️ Tip 1 : stless & stful We can type stless and stful and we get Autocomplete Suggestion to generate Stateless

Laxman Bhattarai 2.8k Dec 28, 2022
🎓Flutter TodoList tutorial

Todo List built with Flutter Built with Git Tutor This tutorial will walk you through the process of building of a simple todo-list with Flutter Getti

Andrei Lesnitsky 294 Dec 29, 2022
Highly Subjective Roadmap to Flutter Development

Flutter Roadmap Dev Environment https://learngitbranching.js.org Language https://dart.dev/guides/language/language-tour https://dart.dev/guides/langu

Oleksandr Leuschenko 4.3k Jan 2, 2023
Learn to Code While Building Apps - The Complete Flutter Development Bootcamp

Learn to Code While Building Apps - The Complete Flutter Development Bootcamp

London App Brewery 9.3k Dec 31, 2022
Based on Microsoft Fluent Design System and made using the help of Flutter VelocityX.

Vx Fluent UI for Flutter Based on Microsoft Fluent Design System and made using the help of Flutter VelocityX. VxFluentUI is a Flutter component libra

Pawan Kumar 14 Jan 28, 2022