![]() ![]() Most of the settings you can leave as default unless you have a desire to change them. If you click on course settings, you will notice that you have four tabs appear at the top of the screen which include: Course Details, Sections, Apps, and Feature Options. View the “ How Do I Manage Course Navigation Links (Links to an external site.)” Canvas guide to understand how to adjust your course navigation menu. It is preferred that Files be hidden and that you share files and documents with students via links in the modules rather than by having all Files visible to students. However, exercise caution if you use this approach particularly if you upload any sensitive or private documents (such as answer keys or exam documents) since students will have visibility to those unless you intentionally change those file settings. You may also choose to have Files be visible in your navigation menu to share files with students. Most other items will not be necessary to have in your navigation menu. Make sure Zoom Pro is in the navigation menu versus just Zoom) Zoom Pro (this is essential if you are hosting any synchronous Zoom meetings.Modules (if you are using modules to provide content or materials).However, the following is a list of the recommended items that should appear in the course navigation menu. The course navigation menu can be customized to your specific course needs. Stripping out leading and trailing spaces, no special characters, etc.Recommended course settings Course navigation menu More validation - There are definitely more things I have not validated against which would be good to catch in the UI. Sorting and filtering on the table to find students if the list grows large enough. should all be generic components with a unified style that can be used throughout the app. Right now there is just one form component used to create and edit. Unit tests - Using jest to test individual components as well as the api methods would help ensure the quality of this code Responsive design - this doesn't look great on mobile UX - Figuring out how the user is actually using this would help drive better design choices Spending time overriding bootstrap defaults would help to make this app look unique. This makes the app look very generic, however I think that it is great for getting POC apps off the ground. I used bootstrap without any customization. I only have 1 reducer because the app state is so small breaking this out into more reducers and using combineReducers would be preferred as the app state continues to grow. ![]() Redux-act is used to help keep actions creators and reducers consistent, plus it reduces some of the boilerplate necessary to create actions and reducers. However the state does update, so if moved to an API it would be simple to add in the loading UI. Because I'm using localstorage, everything resolves pretty much immediately, so I do not include any kind of Loading. I used redux-thunk to handle dispatching asynchronous actions for all of the CRUD actions on a student. I used the new React useState hook in a few places as it is helpful to have local state to control showing / hiding elements local to an element without having to clutter the redux state with that information. I use lodash's get method in many places as it helps ensure that I deal with potentially undefined data upfront (which can reduce runtime errors) multiple tests with student scores for those tests), it would be better to store those in some sort of relational DB with a restful API sitting in front of it. Localstorage was the simplest way to store data for such a small application. I've wrapped each call to localstorage with a Promise as this would make it easier in the future to offload all of the data management to an API without having to change the frontend. ![]() I opted to use localstorage to store all of the student data for this application. I'm using the default Create React App scripts, however for more customization, I would likely eject to customize webpack configs. This is because I really like the monorepo setup for projects, so if this were to require and API, DB, or any other services, they could all reside in this folder. If we needed that, then I could create functionality to add tests, and have grades linked to a testId and studentId.Īll of the code is located in the frontend directory. This application does not allow a teacher to input data for more than 1 test. If the student size was incredibly large, it would be better to calculate the statistics (like average) in a DB If the student size grew anymore than this, then it would be better to implement paging for the student table. ![]() The student size will remain relatively small ( ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |