Giter Site home page Giter Site logo

igorkrupenja / zaino Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 0.0 4.91 MB

First-year university project. Hiking and mountaineering equipment web app.

Home Page: https://zaino.cc

License: MIT License

TypeScript 60.09% SCSS 10.41% JavaScript 28.55% HTML 0.36% Shell 0.59%
react firestore typescript redux firebase hiking sports

zaino's People

Contributors

igorkrupenja avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

zaino's Issues

Create categories

  • categories, best option to use db straight away to make this future-proof โ€” monitor perf in ListItemDetails
  • icons; artboard size in Illustrator 250px * 250px
  • put ready icons in dir structure like GCP storage
  • think of good order

Filters

  • By tag with tag cloud
  • By category -- broken
  • By name

Slight delay in Inventory update after editing/adding item

Some ideas:

  • use RTDB instead of Firestore?
  • Test with app hosted on Firebase Hosting
  • update state before writing to DB - dangerous in case of DB request failing. Maybe update state immediately (editItem.pending?) but then show error if request fails (editItem.rejected)? maybe use a modal with Retry button? gets complicated with Adding item though as id's are generated in Firestore

Dedicated domain?

  • DNS issues resolved except cert
  • update readme (search)
  • update link in repo details
  • update link profile readme

Log out: Warning: Encountered two children with the same key

https://stackoverflow.com/questions/59424523/reset-state-to-initial-with-redux-toolkit

https://stackoverflow.com/questions/35622588/how-to-reset-the-state-of-a-redux-store/35641992#35641992

https://stackoverflow.com/questions/59061161/how-to-reset-state-of-redux-store-when-using-configurestore-from-reduxjs-toolki/61943631#61943631

react_devtools_backend.js:2273 Warning: Encountered two children with the same key, 002GHZPLElfu9SVAcatg. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted โ€” the behavior is unsupported and could change in a future version.
in section (created by InventoryList)
in InventoryList (created by ConnectFunction)
in ConnectFunction (created by DashboardPage)
in DashboardPage (created by Context.Consumer)
in Route (created by AppRouter)
in Switch (created by AppRouter)
in Router (created by AppRouter)
in AppRouter
in Provider

Firebase auth

  • important note that history npm module v5 is broken with router, use v4 instead
  • remember to setup Firebase security rules, refer to Mead project

404 Page

Likely use some icon, perhaps Swiss knife

Catalogue

Can have catalogue with e.g. with items from some shop?

Loading performance

Readme

Remaining

  • check all todos in README.md
  • proof-read

Inspiration

misc

  • gcp storage
  • demo data
  • maybe "preinstall": "sh ./install.sh"

Development:

  • Mention tasks.json
  • gsutil -m acl set -R -a public-read gs://zaino-2e6cf.appspot.com - or add to zshrc
  • note on dependencies and dev dependencies
  • yarn config set ignore-engines true

Workspaces/repo structure

  • how to yarn add

Firebase

Demo data

  • gcloud CLI install
  • use pubsub function
  • gcloud config set project *zaino-dev-81292*
  • gcloud pubsub topics create 'add-demo-data-db'
  • gcloud pubsub topics publish 'add-demo-data-db' --message 'g'

Acknowledgements:

Demo data

style

UI

  • have popovers
  • some sort of progress indicator likely? https://stackoverflow.com/questions/40987309/react-display-loading-screen-while-dom-is-rendering or redux state isLoading?
  • comments
  • maybe also use isLoading to make demo load button inactive
  • also on Labels page
  • important: buttons have no effect/disabled for appropriate demo data state. in auth state? rename to userData? or maybe just use existing selector?
  • Button to add sample data
  • Button to remove samples โ€” how to delete. labels?
  • clean app.tsx
  • check other related issues
  • test simple cases

Data processing

  • decide on climbing categories
  • local node script to generate JSON
  • npm script to generate demo data
  • comments should be trimmed
  • sizes: some label, some part of name
  • backpack sizes: volume to name, size to label
  • labels for climbing items
  • labels for year
  • lost labels
  • buy/weigh label
  • carb labels
  • rope label
  • laces labels - goes under repair
  • damaged or need repair label
  • re-weigh label

Cloud function

Copy fn

  • try import if copy is slow
  • set date once for items?
  • set isFromDemoData
  • firestore security rules
  • clever loading in slices to limit expensive operations
  • loadItems loads items twice if they already in state (same Ids)
  • clean up

Checklists

Seen this in existing apps, Dima S. also thinks this could work

Collect sample data

  • Dima Sh. - waiting for checklists only
  • Dima K. - need to ask
  • Katya
  • Gleb - waiting for reply

App name

From the list below I think I like Zaino, attrezzato, Rack, sentiero, Ready the most.

  • Packrat
  • packer ๐Ÿ˜‚
  • GearEasy
  • EasyGear
  • PackEasy
  • Gear
  • BaseWeight
  • Purist
  • bivouac
  • Col
  • crag
  • Shelter
  • Sentiero
  • rocca
  • montagna
  • collina
  • via
  • attrezzato
  • WellPrepared
  • Ready
  • PackReady
  • percorrenza
  • Zaino
  • dialled
  • Carabiner
  • harness
  • Zainetto
  • Rack
  • traverse
  • loZaino
  • 9lives
  • Prepared
  • valmis
  • telk
  • Taskunuga

Label editor

Pack

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.