Giter Club home page Giter Club logo

accountability-dashboard's People

Contributors

cchampou avatar johnjix avatar longinteger017 avatar m123-dev avatar oezguerisbert avatar probablyarth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

accountability-dashboard's Issues

Create a field to contain Scratchpad data

Currently the Scratchpad is saving the text locally in the browser, but user want to have shared data across all their devices. Before modifying the front-end, we need a field in database to store the text.

This field can be bound to user as a property of it, because there is only one Scratchpad per user.

Be sure the data can be updated via some route, probably PATCH /user.

Table row component

Each row gets four values from the data object.
The (1) 'date' value (and full size) is predefined according to the current month and can't be changed.

The (2) 'goal' value should be an input field which has to be filled by the user. The goal is to make the user roughly plan their month. It probably will be a dynamic double number like (1, 1.5, 10) which stand for one unit of your goal (workouts, chapters read, hours invested..)

The actual time / work invested will be documented in (3) as the 'done' value. Input field for the user. Similar unit like (2).

The (4) 'comments' value should be an input field as well and any row should be editable at any point in time.

The user should be able to write something into the input fields and the values will be submitted and saved on 'enter' or leaving the the input field.

Values:
(1) date
(2) goal
(3) done
(4) comments

Form details are not cleared after submission

  • Unless it's the desired behavior I believe the filled-in fields should be cleared after successfully adding an entry.

Demo preview

Accountability.Dashboard.and.4.more.pages.-.Personal.-.Microsoft.Edge.2022-01-11.23-21-48_Trim.mp4

Add confirmation before deleting an entry

Current behavior

Currently when you click on the delete icon along an entry, it instantly destroys the line.

Desired behavior

We want any kind of confirmation to prevent miss-click.

Chart component

We need a component which takes in the data from the 3 columns of the tables (date, goal, done) and converts them into line 2 charts and updates it in real-time.

x-axis: date
y-axis: goal

(1) goal-linechart: date / goal
(2) done-linechart: date /done

deploy the backend

decide on deployment type (RPI, cloud, vps, heroku, ...) so the frontend can connect and manipulate the data with the DB

Sushi suggested - Categorize trackers

So i was thinking about how it would look if people would be able to choose the category of work they are working on, for instance, if you're playing piano, the category could be hobby and if you're working, it can be work. At the end of the month, a pie chart can show how much time the user is investing on each of their tasks or something like that.
It can be a nice way of time management or for reference i guess
each of their tasks according to the category they choose

Chart scafolling component

The chart needs the x- and y axis. The values for those components come from the data object. The values are coming from the 'table' object from the data object.

"table": {
"date": ["01.01.2021", "02.01.2021"],
"goal": ["1","2"],
"done": ["0","2"],
"notes": []
},

x-axis: date
y-axis: goal

It is necessary that the padding of each label on the axis is evenly distributed to a clean and simple visualisation remains. The arrows for the x/y axis are not needed.

Send Scratchpads text to backend to save it

This issue depends on #53 โš ๏ธ

On the front-end side, instead of storing data to the localstorage, send a request to the back-end to save the text contained in the scratchpad. Also, don't forget to retrieve those data when the user is visiting the page!

Setup router

In order to be able to retrieve personal data of each of the users, we need to have a router set up.

For example, if I go to URL /dashboard/longlikeshort, I must see Long's progress.

Scratchpad component

We need a scratch-board where the user can write free notes for himself.

It should consist in a title and a multi-line input.

For now, we don't want to do anything with the data. Just have it sitting there.

Edit entry directly in the row

When we click on the "edit" icon of a row, it's confusing because at first sight you don't know you need to use the bottom fields.

We could mitigate this by making the row editable.

init the environment

setup the backend python environment (flask, mongodb), setting up requirements.txt, install modules...

Logging in via Discord fails.

Here is the following error that occurs when logging in via discord auth.

the api call /api/auth/discord (inlcuding the payload of the query-parameter code) after accepting the auth, returns this error:

{ "message": "User validation failed: scratchpad: Path `scratchpad` is required." }

image

Mobile Responsive

Not really for me, since I don't own a smartphone, but I think it will be useful for those who don't use laptop/desktop much.

Do we wanna keep scratchpad component for mobiles?

Re login after 1 hour

Currently when a user login with Discord, he will be given an access token to use for following requests. But no refresh token so when it expires, the user need to login once again. Given the current lifespan of an access token is set to 3600 seconds, so one hour, it's quite annoying.

Social card component

We need a component to display the profile of the current user. This component should take different props

  • The username
  • A profile picture URL
  • A Youtube link url

Usage example:

<SocialCard
    username="longlikeshort"
    profilePicture="https://www.blabla.com/picture.png"
    youtubeUrl="https://www.youtube.com/c/longlikeshort"
/>

UI mock-up
Screenshot from 2021-12-15 21-16-57

Title component

We need a title component taking a text as childen. It should have a decent font size.

This component should be created in the component folder

Usage example:

<Title>Make 4 Youtube videos</Title>

UI example:
Screenshot from 2021-12-15 22-17-00

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.