Coder Social home page Coder Social logo

xbgmsharp / vuestic-postgsail Goto Github PK

View Code? Open in Web Editor NEW
8.0 5.0 4.0 14.04 MB

PostgSail frontend in VueJs with vuestic-ui

License: MIT License

Shell 0.04% JavaScript 3.80% Dockerfile 0.03% HTML 0.14% Vue 70.27% TypeScript 14.04% SCSS 9.50% CSS 2.18%
vuejs vuestic-ui vitejs

vuestic-postgsail's Introduction

PostgSail front end.

PostgSail front end JavaScript using framework Vue.js, Vitejs with vuestic-ui and more.

Based on vuestic-admin

release

Getting Started

Cloud development

A full-featured development environment ready to test and code.

With CodeSandbox

With DevPod

Setup

# npm install
# cp .env.example .env
# nano .env
# npm run dev -- --host 0.0.0.0 --port 8080
# npm run build

Todo

  • Layout
    • Update theme icon to night/day mode theme
    • Update theme icon to day and night vision
  • Logs:
    • Add Action '...' column with sub menu to export to CSV, GPX
    • Add button with icon to export to CSV to log list page
  • Log:
    • Add trash and save icon to log details page next to text
    • Add button with icon to export to CVS to log details page
    • Add button with icon to export to GPX to log details page
    • Add button with icon to export to KML to log details page
    • Add button with icon to export to GeoJSON to log details page
  • Add Profile/Settings page
    • require backend update
  • Add new vessel page
    • require backend update
  • Add Stays page
    • require backend update
  • Add Moorages page
    • require backend update
  • Add Map page
    • require backend update
  • Add Monitoring page
    • require backend update
  • Menu icon
    • boats - icon basic sailboat
    • moorages - icon anchor
    • stays - icon alone
    • logs - icon logbook
    • privacy -
    • faq -
    • monitoring -
    • observability - icon grafana
    • badges - icon
    • map - icon
  • Security
    • Implement refresh token
      • require backend update
    • Add external authentication
      • require backend update
    • Add public anonymous access for sharing
      • require backend update
  • Login
    • Create /activate page for OTP validation
    • Force email validation via One Time code on login
      • require backend update
  • Singup
    • Create /activate page for OTP validation
    • Force email validation via One Time code on Signup
      • require backend update
  • Implement notifications Pushover, Telegram
    • require backend update
  • Add Activity page
    • timeline (event log) - of events, history of notifications
    • require backend update
  • Vessels:
  • Add Terms of Use page
  • Update translation
  • Fix English
  • Add telegram bot in the main menu page with QR Code, needed?
    • Account verification
      • require backend update OTP
  • Sample data in build
    • include in dev
    • exclude in prod
  • Settings
    • Update parameters
    • PushOver Web-Based Subscription Process
      • Subscription URL format
      • require backend update OTP
    • Telegram bot link
  • Boats icons base on vessel type
    • powerboaticon.png vs sailboaticon.png
    • require backend update
  • Timelapse
    • Log Geojson replay functionality
    • Generic Geojson replay functionality base on date or multiple logbook
    • require backend update
  • Loading screen
    • Display an animated gif while loading content, before vite mount.
    • page loadingScreen

Core

  • Use vuejs/pinia store to access API instead of by components
    • Offline mode store all API data in browser local storage
      • Refresh if data is older than 10min old
      • Fallback to local storage is no internet
    • Implement global store username, token, cache: logs, moorages, stays
      • Implement offline mode
    • Add env to include demo data
      • load demo data in dev and env if error? or if no data?

Pages:

  • /, Home, Dashboard
    • Widget - Current Boats position map
    • Widget Total of Logs, Stays, Moorage,
    • Widget Weather Forecast
    • Widget Energy
    • Widget ?!?
  • /logs/, Logs
    • Table layout from api view, filter and sort
    • Filter on log type, date range, name
  • /log/:id
    • Map layout from api
    • Table layout from api
    • Edit notes and name
    • Link to timelapse
  • /moorages, Moorages
    • Map layout from api
    • Table layout from api view, filter and sort
    • Filter on moorage type, name
  • /moorage/:id
    • Map layout from api
    • Table layout from api,
    • Edit notes and name and Stayed at (select)
  • /stays, stays
    • Table layout from api view, filter and sort
    • Filter on stay date range, name
  • /stay/:id
    • Map layout from api
    • Table layout from api
    • Edit notes and name and Stayed at (select)
  • /map, Map
    • Same as Moorage Map layout from api
      • Link to /moorages/map/
  • /boats, Boats
    • Table layout editable?
    • Add geojson we properties and popupcontent
    • Satellite view
  • /timelapse, Timelapse
    • Map layout from api
  • /stats, Stats/Dashboard
    • Cards layout
    • Editable date value range
    • Add Pie boat usage %
    • Add Polar stay type %
  • /monitoring, Monitoring
    • Steering layout from api? todo
  • /signup, Sign up
    • Form layout register from api
  • /signin, Sign in
    • Form layout login from api
  • /settings, User settings
    • Table & Form layout from api
  • /badges, User badges
    • Table from api
  • /faq, FAQ
    • Add translation
  • /privacy, Privacy
    • Add translation
  • /grafana, external link, open a new window/tab
  • windy,external link, open a new window/tab
  • /eventlogs, Event Logs
    • Table from api
    • Display as a timeline?
  • /alarmlogs, Alarm Logs
    • Table from api
    • Display as a timeline?

Dependencies

  • Remove axios dependency in favor of nodejs fetch
  • Update to the latest version vuestic-ui and tailwindcss (css issue on profile page)
  • Update to the latest version chart.js and vue-chart.js
  • Update to the latest version vue-i18n
  • Update to the latest version vitejs and plugins
  • Remove medium-editor dependency
  • Remove amcharts dependency
  • Update date formatting as moment is deprecated, use date-fns?
  • Update graph using echarts.

Icons/SVG

Debugger

vuestic-postgsail's People

Contributors

alexanderboriskin avatar alexanderrudnik avatar asvae avatar asyncurious avatar dependabot[bot] avatar derranion avatar eugenizer avatar georgemuralkh avatar ilearnjs avatar jean-bonilha avatar jean-moldovan avatar jericopulvera avatar kreezag avatar kushich avatar leonsayshi avatar lukarenko avatar m0ksem avatar nastassiadanilova avatar osipuk avatar papasikis avatar rvitaly1978 avatar smartapant avatar smellyshovel avatar someburner avatar ssemenkoff avatar untael avatar vlad-shusterman avatar whoan avatar xbgmsharp avatar zyox-zsys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vuestic-postgsail's Issues

Search options should use less space (particularly on mobile)

Describe the improvement
Search (filter) on top of the list uses quite some space, particularly on mobile:
before-empty

before-filtered

Suggested behavior

  • remove headers as they just duplicate information
  • use icon on the left of entry field to make it clear what is the purpose
  • use shaded/grayed-out text in field to describe what can be entered in the field
  • use X icon on the right of the field to clear it (instead of Reset button)
  • move export option after the list (in footer) as it is rarely used (particularly on mobile)

after-empty

after-filtered

Moorages: map display in table view does not make sense

Describe the improvement
Currently we display Moorages with the map, search bar and table view.
image

I think that map on this display does not make a lot of sense, as we have dedicated Map option in menu:
image

Suggested behavior
Remove the map from Moorages and just leave it in Map. That way it would improve readability on small devices (phones).

Logs: table view - sort by Distance or Duration does not work

Describe the bug
In table view of Logs, if you sort by Distance or Duration column it will not sort correctly, is it sorts strings and not numerical values.
image

Expected behavior
Sort should work with numbers and not strings.

Should we also move the unit from each row and just put it in column name, like this:

  • Distance [NM]
  • Duration [h]
    That way we would have simple numerical value in the table below and could also align it on decimal point to improve readability.

Refactor export function

Export to CSV is working, but need to update GPX (XML) handle and Geojson.
Geojosn should be without external http query.

Logs navigation vs. Moorages navigation

Describe the improvement
Currently, Moorages have three submenu entries:
image

On the other hand, Logs does not have menu items, but have three views listed as tabs:
image

Suggested behavior
Would it make sense to also switch to sub-menus for Logs?

Maybe Logs sub/menu items could be:

  • Cards
  • Logs
  • Map

Submenu dark theme not working correctly in minimal sidebar view

Describe the bug
The submenu;s do not work in the dark theme when the side bar is set to minimal.

See screenshot for details

To Reproduce
1 Set theme to dark
2 Open submenu item "Moorages , Monitoring , Timelaps or Help"

Expected behavior
expected behavoir would be the submenu's have the dark theme and not the light theme.

Screenshots
image

Desktop (please complete the following information):

  • Windows 11
  • Chrome
  • 120.0.6099.225

Additional context
Add any other context about the problem here.

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.