EduSteem - Student interface (Dashboard)

in #utopian-io6 years ago

Repository

https://github.com/bflanagin/EduSteem

Continuing with the relentless march toward the first day of school, and with the student login complete, we turn our attention to the way the students will interact with the system. This will be the first post in the series about the student area.

New Feature: Student dash board

Screenshot from 2018-07-18 17-25-16.png

Based around similar "daily task" interfaces the student's dashboard gives the user quick access to everything they need for the day. From top to bottom we have:

  • Next Class: Based on time of day as well as the students personal progress through the day those that have classes that don't need instruction can be accessed and completed by the student given the teacher has given them permission.

  • Today: Lists all classes that will be taught that day regardless to the time. This serves two purposes 1. to help the student understand what is expected of them and when the teacher has graded the work the student has done a status update can be displayed on the class to inform the student if they're work is accepted or if they need to go back and work on it more. Please note the Reading class and how it is different the then rest. When a student mouses over the class a description of the class as well as other options become visible. Clicking on the 'play' button will start the class.

  • Continue Work: This area is for all uncompleted work that the student may have in his or her queue. It works exactly like the Today list but is not connected to any calendar.

Along with the active view shown above, each student has access to a personal side panel with quick stats on how they are progressing. (fig. 2)

Screenshot from 2018-07-18 20-28-03.png
(fig 2)

Implementation

Following the style set by earlier parts of the program the Student UI is found in a sub folder called Student and there you will find the main interface file named StudentUI.qml. For the interface we had to create a 'card' to hold the school info this was done by creating a Item QML file named Card.qml and is referenced with in StudentUI file like so:


            GridView {
                id: classGrid
                width: parent.width * 0.98
                anchors.horizontalCenter: parent.horizontalCenter
                height: contentHeight
                cellWidth: 405
                cellHeight: 250
                clip: true

                model: todaysClasses

                delegate: Item {
                    width: classGrid.cellWidth
                    height: classGrid.cellHeight
                    clip: true

                    Card {
                        width: parent.width * 0.96
                        height: parent.height * 0.96
                        anchors.centerIn: parent
                        curtainColor: classColor
                        title: classtitle
                        unit: unitName
                        lesson: lessonName
                    }
                }
            }

As with other parts of the program we separate the logic into its own file titled student.js . Given the interface is still being built the logic file is primarily filled with placeholder functions this will of course be remedied as the UX is finalized.

Banner.png

Find out more

eduSteem is going through a development sprint. These weekly updates, help keep me on track as well as giving those that are interested detailed reporting of my progress. The goal is to have it ready for use in a small school setting by the end of July. For further reading check out these other posts here on Steemit.

GitHub Account

https://github.com/bflanagin

Sort:  

Thank you for your contribution.

Few points :

  1. https://github.com/bflanagin/EduSteem/commit/e9303468393f9d21545bd335d8df61e0a65020d1#diff-194fc0b3949bb26afd4dfa9303c3cf29R315, since you have one one switch case you can use if.

  2. You are using time.toString().split(".") quite a lot of time, instead use once and copy that to a variable and then use that variable to get the splitted values. https://github.com/bflanagin/EduSteem/commit/e9303468393f9d21545bd335d8df61e0a65020d1#diff-ea6e8a9b7a2f565df5322a79298f8b17R501

  3. Somewhere you are using double equals and somewhere triple, its better to be consistent. https://github.com/bflanagin/EduSteem/commit/e9303468393f9d21545bd335d8df61e0a65020d1#diff-ea6e8a9b7a2f565df5322a79298f8b17R559

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Hey @codingdefined
Here's a tip for your valuable feedback! @Utopian-io loves and incentivises informative comments.

Contributing on Utopian
Learn how to contribute on our website.

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Hey @bflanagin
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 61940.19
ETH 2433.78
USDT 1.00
SBD 2.50