Code Monkey home page Code Monkey logo

comm-time's Introduction

Just a small town guy, working as a network administrator and studying full-stack web development!

๐Ÿ”ญ Iโ€™m currently working on a tool suite that includes an IPAM, Ticketing System, and more internal tools.
๐ŸŒฑ Iโ€™m currently learning full-stack web development with SvelteKit and other tools
โšก Fun fact: I like to sing

Stack/Skills

HTML Icon Markdown Icon CSS Icon TailwindCSS Icon Sass Icon JavaScript Icon TypeScript Icon Svelte Icon React Icon Node.JS Icon Bun Icon Git Icon GitHub Icon PocketBase Icon PostgreSQL Icon Supabase Icon SQLite Icon MongoDB Icon VSCode Icon Raspberry Pi Icon Discord Icon

Github Stats

comm-time's People

Contributors

jyln avatar

Stargazers

 avatar

Watchers

 avatar

comm-time's Issues

Rework: `TimeTable`

Summary of Rework

  • Initialize sort plugin (svelte-headless-tables)
  • Setup column headers for asc and desc sorting of time entries

Cleanup: Remove all form debugs

Gotta see what the real UI/UX is like before testing with the co-workers. As it currently stands, I believe all forms except for the delete time entry form has a debug showing.

Rework: 'Share Time Entry' Action

Summary of Proposed Rework

Instead of navigating to a new page to update shared users for a time entry, the form will show in a dialog.

Further Explanation

Due to potential bugs with underlying technologies for shadcn-svelte, a dialog was causing what looked to be a memory leak within the front-end resulting in a browser tab freeze. In the latest release, this has been fixed. It could be that we still have underlying issues in implementation in code in previous attempts, but would like to attempt this design again with the latest release of dependencies to see if I can make this work.

Feat: Error Page

Summary of Proposed Feature

This will be an overall error page for the site, to have a way to still navigate the site if an error occurs.

Feat: Markdown Support for Time Entry Notes

Summary of Proposed Feature

Allow for markdown syntax within time entry notes to be then formatted using the tailwindcss/typography plugin.

Further Explanation

This allows for easier management of internal tickets, as future plans is to allow these to formulate internal tickets and allow for savable/printable version.

Planned Technologies

Bug: 'Shared' Route - 'Notes Dialog'

Summary of Potential Bug

Due to the rework of the notes dialog (see #16 & #28), the response from the backend now brings in an additional expanded value. The shared route has not been updated to support this causing the dialog to not render on the page.

Description/Ideas of Fix

  • Update typing within TimeTable component to type and recognize the new expanded value
  • Update load function within shared route to support expanded field

Feat: Toaster

Summary of Proposed Feature

Provide user feedback upon successful/errored form requests.

Planned Technologies

  • melt-ui
    shadcn-svelte does not yet have an implementation of this kind of feature, so will have to attempt to follow the design system for this as it will mostly be custom. May also potentially attempt to build it specifically to the component library to post as PR if feature within the library is not already being worked on

Feat: Text Editor Buttons

Summary of Proposed Feature

Would like to include a row of text editor buttons with the notes field of time entries to easily format notes with Markdown syntax. Could potentially be worked in conjunction of #6. I'm also going to put this on the backlog because I don't find it absolutely necessary on first go around with this project.

As far as actual editor functions, I'm thinking of the following:

  • Heading
  • Bold
  • Italic
  • List (Numeric)
  • List (Unordered)
  • Link

Given the use case of this project, I'm thinking these will be the most widely used editor functions rather than tables, code blocks, etc. Will address this further upon feedback from intended users.

Rework: 'Edit Time Entry' Route

Summary of Proposed Rework

I believe it would be better UX to have a 'back' button composed of a Lucide icon to take users back to the /previous route to cancel editing a time entry. Would also like to put time details within a description paragraph as well.

Feat: Account Management

Summary of Proposed Feature

Not explicitly important as really the only thing it would be used for is updating avatar images. I have also considered adding a way to add or update the list of customers within the app as currently the only way is through the backend. I will likely open a separate issue for this but unsure yet, mostly because that would make sense under a separate protected route.

Planned Technologies

Cleanup: Overall

Summary of Proposed Cleanup

Basically I want to clean up EVERYTHING that can be cleaned up. List of ideas to start:

  • DRY up code
  • Remove unused library components
  • Cleanup custom component code
  • Cleanup TypeScript typing
  • Remove unused code (i.e. mock-data is no longer being used now that there is a pool of test data within the backend)
  • #38
  • #39

I'm sure there's more to be done, so this will be a rather large issue. Adding the help-wanted label to this issue in-case anyone would like to provide overall feedback regarding the code base.

Rework: `Editor` Buttons

Summary of Rework

Would like to make these buttons a little more intuitive and add another few buttons:

  • Checkbox Button
  • Image Button (will only be web images, for now)
  • Dynamically add list items when typing in a list and returning to new line

Alpha Testing

I believe I'm now closer to releasing the product for testing within my company. However, I believe these 2 issues need to resolve before actually setting up the environment for internal testing:

I will keep this issue open to keep notes on feedback once these 2 issues are complete and the product is available for testing.

Rework: 'Notes' Dialog

Summary of Proposed Rework

Would like to add original author details to notes of a time entry

Rework: 'Time Table' Sorting

Summary of Proposed Rework

Currently, the overall time table is sorting weirdly. I can't seem to place exactly how it's sorting, maybe by ID of the time entry though there isn't a column representing that ID? That or it's the order of the response from the backend. I haven't had much time to look at it. What I do know, is that I'd like to sort by newest time entry by default.

I'd also like to add some additional sort options but haven't landed on what exactly I'm going to apply sorting to.

Bug: 'Time Table' Filtering

Summary of Potential Bug

While showing off the project to a potential user, I noticed that filtering by date within the Time Table was not working properly.

Description/Ideas on Fixing Bug

Looking at the code for the table column setup, I can confirm the start and end time columns are not excluded from the filter plugin. I'm thinking because I'm using moment to obfuscate the data and present it in a more human readable form, I will need to set each column's getFilterValue property within their column setup to recognize the moment string.

Bug: 'Share Users' Dialog Layout Shift

Summary of Potential Bug

When opening the share users dialog, the dialog opens on the lower half of the screen, then zips up toward the center. I will need to debug this more to see where this is happening at. I think it could be a transition timing or weird portal issue with one of the libraries.

Rework: Viewing Notes and Sharing Entries UI

Summary of Proposed Rework

I believe it would be better looking UI to utilize a Sheet component from the 'shadcn-svelte` library to display notes from time entries as well as sharing the time entries

Cleanup: Toasts for Login

Summary of Cleanup

When adding the toasts for form submissions (see #2 and #13), due to oversight, I did not realize I hadn't added toasts for the login route to display successful or unsuccessful logins.

Feat: 'Admin' Route

Summary of Proposed Feature

Would like to create a separate 'site admin' route that will allow backend admin users a spot to add/edit/remove customers from the backend, rather than having to access the backend itself

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.