Git Product home page Git Product logo

glassypdm-client's Introduction

glassyPDM

glassyPDM is a PDM solution for teams looking to collaborate on hardware design.

Support

Create a ticket here.

Dev Instructions

Prerequisites

  • Yarn Berry. link
  • Windows computer setup for Tauri development. link
  • Clerk account setup. link
  • An instance of the glassyPDM server and webapp (WIP) running somewhere.

CLI

# create clerk files
$ echo -n "PK_FROM_CLERK" >> src-tauri/resources/clerk.txt
$ echo -n "https://link.to.clerk.userprofile.example.com" >> src-tauri/resources/clerk-profile.txt

# for development
$ yarn tauri dev

# for building installers, etc.
$ yarn tauri build

Recommended IDE Setup

License

The glassyPDM client is released under the GNU General Public License (GPL) version 3 or later version.

glassypdm-client's People

Contributors

joshtenorio avatar github-actions[bot] avatar

Stargazers

 avatar

Watchers

 avatar

glassypdm-client's Issues

Handle no/loss of Internet

  • server status, ping it once every 60-120 seconds
  • downloading files to a cache + then copying them to their proper location
  • a way for users to see how much space the cache takes up and a way to delete the cache

Move logic into Rust backend

There are some logic that the frontend handles (e.g. determining download/upload/conflict lists) that may be better suited on the Rust side. At the very least we could move the logic into its own TS file to make the UI code shorter.

  • Measure time elapsed for functions

Download - Make one big request for all S3 links instead of one for each file

Currently we make a GET request for each file to get its S3 link; If we make one big request for all the S3 links we need we should be able to see some sort of performance increase. This will require a change on the server side too.

  • measure time elapsed while downloading files
  • supported change on server side
  • implement change, measure time elapsed

Crash on sync

only occurs in production, not yarn tauri dev

  • sometimes occurs after making a change

on upload, also send change type

this will allow us to easier describe file changes in the website. this will require some changes on the server and database (e.g., adding a new column to the file table)

Reseting files

  • crashes when solidworks is open (experiement more with this)
  • text is broken (says 4 of 4 reset, then 5 of 5... etc)

commit did not upload

#17 could potentially fix/mitigate this; something could also be borked with base.json or compare.json too after downloading non-conflicting files

to reproduce:

  • make changes in project dir
  • sync
  • download changes
  • sync

at this point the client doesn't recognize your changed files as things to upload

edit:

  • on download, use results from /info/project to populate base.json
  • on upload, current implementation is likely ok but could change it to upsert uploaded files into base.json
  • when updating project directory, reset base.json

Setting project directory UX improvement

The current implementation doesn't make it clear that the user needs to hit Save Changes in order to save the new project directory.
So either:
a) Warn the user to save changes when they try to navigate away

b) Save the project directory immediately upon selecting one

workbench sync testing

Since we moved + refactored much of the logic for syncing changes, this issue is for tracking what has been tested.

download:

  • identifying files to create/update
  • identifying files to delete
  • initializing a fresh install
  • format presented for toDownload.json is parsed properly by download page
  • partial downloads supported

upload:

  • identifying files with the right change type
  • format presented for toUpload.json is parsed properly by upload page
  • partial uploads

conflicts:

  • properly identify conflicts

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.