selfdevs / accountability-dashboard Goto Github PK
View Code? Open in Web Editor NEWSelf.dev community is building an accountability dashboard to keep track of your goals.
Self.dev community is building an accountability dashboard to keep track of your goals.
We need a header which provides the labels for the columns. They need to be aligned with the columns and rows.
Use the dedicated HTML markup:
https://www.w3schools.com/tags/tag_th.asp
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.
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
a user should be able to sign up as a new user from the frontend landingpage which will send a request to the backend returning an user token on success, saving the data in the userDB
Currently when you click on the delete icon along an entry, it instantly destroys the line.
We want any kind of confirmation to prevent miss-click.
deciding on a framework to build the backend (flask, django, fastapi)
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
decide on deployment type (RPI, cloud, vps, heroku, ...) so the frontend can connect and manipulate the data with the DB
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
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.
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!
We want the dashboard to be visible under https://dashboard.theselfdev.com/
.
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.
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.
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.
creating custom APIs to access/transfer the data from/into DB (REST API/graphQL) using the mockdata
setup the backend python environment (flask, mongodb), setting up requirements.txt, install modules...
If for example I visit Long's Dashboard the page does not load, and in the inspector console it sais:
Further investigation: Might be the username
from the route.
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?
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.
We need a component to display the profile of the current user. This component should take different props
Usage example:
<SocialCard
username="longlikeshort"
profilePicture="https://www.blabla.com/picture.png"
youtubeUrl="https://www.youtube.com/c/longlikeshort"
/>
give the user the possibility to sign up with a Discord account (using existing frameworks like 'flask-google-login' and 'flask-discord')
create new mockup file suggested by M123 with array of objects
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.