Giter Club home page Giter Club logo

treetrunks's Introduction

treetrunks

A work logging tool.

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# run unit tests
npm run unit

# run e2e tests
npm run e2e

# run all tests
npm test

For detailed explanation on how things work, checkout the guide and docs for vue-loader.

Plan

Storing data - Everything will be stored under /loggers/:userid/loggertype, so Notes will be stored under /loggers/:userid/notes etc.

User types something. This updates the Vuex store. On commit, an update is sent to Firebase. Receives from Firebase do not update Vuex except on initial load.

Notes

  • All auth/vuex interaction is handled by onAuthStateChanged, but might need to reinstate individual functions for login versus registration so that accurate feedback can be given to the user about successful/unsuccessful registration/login.

To Do

x Input for adding items Render items with checkbox Two sections - items to be done, and items done Checking an item moves it to the top of the done column Items should show a timestamp for when they are Added Updated Marked done Items that are done can be archived - these are not displayed unless requested

Everything will be stored in a list under /loggers/:userid/todos Unless that makes filtering out the archived items harder, then they'll be split into two sections

Issues with To Do's: All array operations are performed on the Vuex copy of the array. This means I cannot add, remove or update individual items from Firebase, I can only send it the entire list each time it changes. It would be good to figure out a solution for that without coupling the vue and firebase code too much.

Showing AJAX status on components.

I passed a reference to the component into the commit payload so that the store can set data against it, but this seems to cause the entire component to redraw.

treetrunks's People

Contributors

im-jamesfidler avatar terrarum avatar

Watchers

James Cloos avatar  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.