fnitu / edu-hospice Goto Github PK
View Code? Open in Web Editor NEWApplication developed for SIIT Challenge Accepted – CODVIDHACK 2020
Home Page: https://edu-hospice.herokuapp.com
Application developed for SIIT Challenge Accepted – CODVIDHACK 2020
Home Page: https://edu-hospice.herokuapp.com
Decide on supported browsers and update browserslist file
TODO: add details about removing IE11 support
Integrate server API request URL: GET /api/admin/courses
https://edu-hospice-api.herokuapp.com/swagger-ui.html#/course-controller/getCoursesStatsUsingGET
Decide on a template for HTML e-mails and apply it:
A request must be done to: /api/users/currentUser
The response details should be shown in: user/dashboard
TEST user details button should be removed.
The details about the user should be removed from sessionStorage. Only the token needs to stored in session token.
Create a loading mask / progress bar for http requests. Loading mask prevents user to execute the same action multiple times while the request is in pending.
New card to enter new quiz details:
Related: issue: https://github.com/danutchindris/edu-hospice-api/issues/127
To decide with design if additional styling is needed for the top toolbar (is the home link needed?) and admin user tabs.
Style user dashboard details information similar to the design branch
A card component with all the needed input params should be created instead of using directly the mat-card component.
The styles related to mat-card from src/styles.scss should be moved to the component scss file
When clicking on the recommended courses tab you should
Style admin dashboard, based on design input
Create route guards to prevent user to access admin routes and vice-versa.
https://angular.io/guide/router#preventing-unauthorized-access
If you try to access a secured link and you are not logged in, it should redirect you to the login page.
After entering the credentials, you should be redirected to the page requested initially.
If you are already logged in, you should access the requested page directly.
Receive generic error from server (user or password are not recognized).
Display error using form errors mechanism.
Ag-grid component should be upgraded to latest version (24.x)
Check how to build the application to use a different URL for the API requests (a production one instead of the current Heroku development).
Use URL from server for onGoing, finalized and recommended corse
Move Bearer header to http interceptor in order for it to be set in one place
Remove token from URL, to be stored in cookie, localStorage, etc.
Remove tabs on homepage and add course type to the course card
Implementation of ag-grid with:
pagination (infinite scroll)
search
sorting
Create new page with placeholders for needed shortcuts (cards - title + icon):
Courses
Users
Refactor "Cursanti" usage in translations to "Utilizatori" in order to allow for showing/managing of the admin users in the third tab.
Admin must be able to directly navigate using the shortcuts from dashboard to a specific user tab:
Most likely, an URL param must be sent and the tab component to take it into account.
To investigate what pdf viewer can be added to our application to allow for:
Integrate logout API when clicking the logout button.
A request must be done to: /api/auth/logout
The session storage containing the token should be cleared.
In order to help with content adaptation, all string should be entered in one location.
Possible solutions:
http://www.ngx-translate.com/
https://github.com/airbnb/polyglot.js
https://i18njs.com/
On the dashboard of the admin we need to show the information from: https://edu-hospice-api.herokuapp.com/swagger-ui.html#/user-course-controller/getAdminDashboardStatsUsingGET
Implementation of the following URLs:
https://edu-hospice-api.herokuapp.com/swagger-ui.html#/user-course-controller/approveUserCourseUsingPUT
https://edu-hospice-api.herokuapp.com/swagger-ui.html#/user-course-controller/rejectCourseRegistrationUsingPUT
The same URLs are used on both pages to do the actions.
Show the course cards as tabs:
Route to be modified: user/dashboard
Enter e-mail page
Verify e-mail is valid, then show the message in an Angular material dialog:
If the user exists in our database, an e-mail link will be sent to the provided address.
In order to reuse the defined colors, they should be extracted to a common location and reused in multiple places.
To be confirmed with UX.
Same list as in #17, but for users:
name
e-mail
status
Angular and Angular material should be upgraded to the latest 11.X version.
For users, the course content should be shown as a sidenav (https://material.angular.io/components/sidenav/overview), the course items inside should be displayed as a tree: https://material.angular.io/components/tree/overview
The course items should contain: icon, name, status and they should ALL be expanded by default.
The sidenav should be collapsible.
Route to be modified: user/course/course/1
Provide two inputs, check if passwords match.
If match, show message with Angular Material dialog: "Password changed successfully", then redirect to login page.
After an user registers to a course, it will be visible in a list that can be accessed from the admin dashboard. The admin can accept the registration. This does not grant access to the course!
#33 needs to be implemented for the user to have access to the course.
Both lists #32 and #33 will be shown as tabs in the same page.
Use: https://edu-hospice-api.herokuapp.com/swagger-ui.html#/course-controller/getAllUsingGET for showing the courses on the home page when you are authenticated.
After an user has been accepted by an admin as registered for a course, it will be visible in a list that can be accessed from the admin dashboard. The admin can validate that the user has made the payment for the course. Only after this step, the user will be able to access the course.
In order to have a consistent build, we should freeze all the dependencies in package.json.
Angular/Angular material should be updated to latest versions.
Integration of a new URL that will contain more user details + statistics.
To be decided with design what other information needs to be displayed.
Update translations.
Create constants for routes in order to be easly maintained when naming is changed.
Create curs card using mat-card and current styling of card
A new page containing the necessary course details:
Prerequisite: A "Create course" button(on a toolbar) in the course list page: https://edu-hospice.herokuapp.com/#/admin/course-list
The toolbar is created in #58
Related issue: https://github.com/danutchindris/edu-hospice-api/issues/125
In the "New quiz page" we should have a section that allow the creation of multiple questions:
Fields:
[
{
name: "question text"
type: "radio/select/checkboxes"
options:
[ { option: "first option", valid: true}, { option: "second option", valid: false } ]
}
]
The order of the questions and question options will be given by the order of the array.
A validation (BE/FE) should be done when selecting the question type to have at least one option.
Drag and drop - to be handled in a separate ticket
Lazy loading routes should be added for admin and for regular users (not authenthicated/authenticated)
Three modules should be created:
Create error page for missing route, in case the user enters manually a wrong url.
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.