marcelofa / deadlines_app Goto Github PK
View Code? Open in Web Editor NEWA Deadlines App on Django
License: GNU General Public License v3.0
A Deadlines App on Django
License: GNU General Public License v3.0
Is your feature request related to a problem? Please describe.
This is not related to a problem. This is related to an additional feature we could have on the task_list template (current homepage). Adding a sort feature to the tables on this page would be very nice
Describe the solution you'd like
As we're using django-bootstrap for styling we already have included jquery so we could use something like data tables for this
Describe alternatives you've considered
We could also implement this feature manually if it's convenient to do so
in the task_detail template there's a button to the Task in question. This button is currently not working. Part of the view logic for this is already implemented in the task_delted method inside tasks.views.
Is your feature request related to a problem? Please describe.
This issue is related to the domain of the application, not a problem.
Describe the solution you'd like
For the domain of usage of this application having the Task app renamed as Event makes more sense. A complete renaming of the Task app to an Event app would solve this issue
Additional context
Renaming a django app implies some steps like renaming the folder, files, method names, variable names, mentions on templates, and etc. A good starting point is this manual on the subject
We use django-bootstrap4 for styling in the front-end.
Our current forms at tasks/new, register/ and submissions/new do not have bootstrap styling applied to the forms.
This issue is to apply bootstrap style to those forms
A Student must be able to deactivate his/her account so then it won't be referenced in any Task instance. In a complementary way, a Student must be able to activate his account in case its current status is deactivated.
The progress bar could have colors accordingly to the percentage of task completion, like this:
Green: 0%69%
Yellow: 70%->89%
Red: 90% -> 99%
bootstrap 'info' color (hex code is #5bc0de) : 100%
Every submission must have a checklist like this to fill the progress bar
Currently a Student has a simple profile page, the topic of this issue is improving the perofile page
Some elements the page could have:
user and passowrd for bd
debug = false
secret_key
This package may help to implement this feature
https://djangopackages.org/packages/p/django-pagination/
Is your feature request related to a problem? Please describe.
A good task list template can very pleasant to new users. This issue has the intention of adding the task completion bar present on the task details template also on the tasks list
Describe the solution you'd like
Every task on the list would have its progression bar. Including past tasks. The progression bar could be added as a new column on the table that currently presents the tasks on this task list template.
Describe alternatives
A good altermative to this would be adding badges to each task on the list and coloring the badges according to the progression colors we already have.
Additional context
This must be implemented as simply and as nicer it could be, bootstrap is included in this project and can certainly be used for this
If you have any knowledge of writting tests for django apps, any help is very welcomed.
If you could write the necessary docstrings on the test cases so others can understand them, that'd be even better! :D
Some parts of the application that could have basic test coverage
This could be implemented as a new field in the Task model as a BooleanField and a button on the task_detail page so a Student can mark it as done
Something I noticed while playing around with the app is that if you create a task that has a deadline tomorrow, and click it to view details, the app will crash with a divide by zero error. This part of the stack track seems relevant. I'm guessing it crashes because total days is an int, and if you have less than one day to do a task, total_days
will be less than 1, which will be 0 if you do int()
of it somewhere.
File "deadlines_app/tasks/views.py" in get_progress_percentage
100. progress_percentage = 100 - (100 * task.days_left / total_days)
Exception Type: ZeroDivisionError at /tasks/3
Exception Value: division by zero
In the StudentForm 'name' field a person must fill strictly his/her first and last name only.
We could add validations that check this is done correctly when submitting the form.
In case 'name' is filled wrongly an appropriate django.contrib.message should be summoned on he template
Is your feature request related to a problem? Please describe.
A Submission instance is associated generally with an academic paper so we need a first_author field on the Submission model to identify properly the student in question (the first author)
Describe the solution you'd like
Adding first_author field on Submission model, form, view, and template would solve this
Describe alternatives you've considered
No alternatives came to my mind, we're open on considering other approaches to solve this
Request Method: | GET |
---|---|
http://192.168.1.2:8000/events/delete/2 | |
2.2.6 | |
FieldError | |
Cannot resolve keyword 'students' into field. Choices are: created_at, deadline, id, name, qualis, submissions, updated_at, url | |
/usr/local/lib/python3.8/site-packages/django/db/models/sql/query.py in names_to_path, line 1419 | |
/usr/local/bin/python | |
3.8.1 | |
['/deadlines_app', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages'] | |
Mon, 13 Jan 2020 13:31:52 +0000 |
It could be implemented as a list of sub tasks on the task page. Also, checking off each item contributes to the progress of the task and if all of them are checked off, it can be labeled done.
The UpdateTaskModelForm class has a init method that allows a queryset to be passed to the ModelMultipleChoiceField students' field. this queryset should filter the students that are related to a task only so then we can show them on the template
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.