Coder Social home page Coder Social logo

leo2904 / note-maps Goto Github PK

View Code? Open in Web Editor NEW

This project forked from google/note-maps

0.0 1.0 0.0 1.64 MB

A personal knowledge base designed for use on mobile devices.

License: Apache License 2.0

Go 45.92% Shell 0.51% Java 0.86% Objective-C 1.09% Dart 41.05% JavaScript 5.18% HTML 0.24% CSS 0.35% TypeScript 4.79%

note-maps's Introduction

Note Maps

GoDoc Go Report Card Build Status Coverage Status

Note Maps is a personal knowledge base designed for use on mobile devices. The interface is modeled after the pages of a dictionary, or the index at the back of a book.

Each note map is a collection of information about a set of topics. Any topic can be described with a set of names, types, and miscellaneous notes that may include definitions, timestamps, or links to other kinds of media. Topics may be connected to each other through associations, and any association may itself be described as another topic. Even the role played by a topic in an association can, itself, be described as a topic.

This model is isomorphic to the Topic Maps Data Model defined in ISO/IEC 13250-2:2006. With Note Maps, topic maps can be imported from or exported to standard data formats including XTM (ISO/IEC 13250-3:2013) and JTM (JTM 1.1).

Architecture Overview

The mobile app is a Flutter front end with a UI focused on entering and organizing notes. Notes are stored through a Go backend in a Badger database on local storage, where they can be included in system backups.

Screenshots

screenshot of library page screenshot of topic page with speed-dial actinos screenshot of topic editing page screenshot of browsing page

Plan

Roadmap to v0.1

  • Partial Go implementation of deserialization from CTM
  • Partial Go implementation of data storage for topic maps
  • Flutter native channel for communication with data storage
  • Minimal Flutter front-end that uses native channel to communicate with Go
  • Minimal UX research, recorded in this repository at docs/ux.md
  • Wireframe Flutter front-end with navigation
  • Topic maps can be created
  • Names can be created and edited
  • Notes can be created and edited
  • Topics added to a topic map can be reviewed
  • Deletion of topic maps works correctly in the UI
  • Adding, editing, and deleting names and notes works consistently
  • UI includes warnings about data storage, especially deletion

Roadmap to v0.2

  • Associations and roles can be entered
  • Associations involving a topic can be found from the topic page
  • Browsing a topic map supports viewing all data entered in that topic map

Roadmap beyond

  • Topic maps can be exported and imported
  • Data entry is reasonably easy

Source Code Headers

Every file containing source code must include copyright and license information. This includes any JS/CSS files that you might be serving out to browsers. (This is to help well-intentioned people avoid accidental copying that doesn't comply with the license.)

Apache header:

Copyright 2019 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

This is not an officially supported Google product.

note-maps's People

Contributors

jtacoma avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.