hackru / mentorq Goto Github PK
View Code? Open in Web Editor NEWA real-time ticket queue to get mentorship during a hackathon
License: MIT License
A real-time ticket queue to get mentorship during a hackathon
License: MIT License
Write tests with Jest to check if all the pages and components render properly
show the mentor who claimed a hackers ticket, (eventually also show the dm link)
force slack usage with mentorq.
Admin should be able to delete tickets
User should be able to cancel an open ticket (essentially like deleting a ticket)
** Things to consider **
add a button in mentorq that could update their status
would require a new feature to be added to the api
perhaps detect when a ticket's comment is long and have it in its own row with other data in a second row at the bottom. this avoids the comment squishing all the other content on the ticket card
Show mentor feedback button on the non-expanded view of user's closed ticket (for ex: separate small feedback icon on top right corner of ticket)
Add a new field on tickets from backend called "active" which can either be true or false, and true by default
Create a Mock for MentorQ for the Material-UI redesign.
When a ticket is claimed, send a notification to both the mentor claiming, and the hacker who sent the ticket with a slack DM link
Read in User/Mentor name and role data from JWT token passed in from backend.
Add ability for people to filter tickets that they see
Admin should be able to filter what tickets they see (open, claimed, closed, canceled)
Mentors should also be able to filter tickets they see (open, claimed, tickets they claimed (?))
In addition, the ticket queue should be automatically sorted such that the most recent tickets are on top, older tickets on bottom. For users, their closed tickets should be shifted to the bottom. For Mentors, their Claimed tickets should be on top.
How you filter is up to you. Maybe have a bunch of checkboxes for each type of status and show those that are checked off?
Most of this is already there, but essentially when a mentor or user scrolls, only the tickets should scroll while the navbar and ticket-submission-panel stays in place (the ticketpanel already does this, but the nav bar doesn't)
Create an admin page for Director users that will allow them to
Upon claiming ticket, Hacker, mentor, admin should be able to
Upon closing tickets, Hacker should be able to
Admin Page
Check how many requests are being made for the leaderboard and feedback pages for the admin page. We need to reduce how often these requests are being made.
Make the fields more modular, so removing/adding fields is as simple as saying enabled/disabled before every semester rather than having to modify tons of code and then re-adding it
Update Readme, add what our mission, history, how to set up etc...
Have how long a ticket has been open displayed on open tickets. Should say xx minutes until it hits an hour. After that it should say xx hours.
Modify certain components (Especially typography) to scale to Mobile.
Consider creating a separate navbar for mobile and separate out newticket form from the ticket list.
Think about how we want to represent the admin page for Mobile (More options in the navbar?)
Research Material-UI and work with frontend to make MentorQ design consistent with HackRU website. Frontend should only need to send us a theming file every semester to update our theme.
react router might help us organize the views.
queue status is essentially an object {open:true|false,mentorsOnDuty:number}
the mock api needs
Create a feedback form with /5 rating and feedback box for hacker when a ticket is closed
Fetch feedback endpoint to display data on all closed tickets (feedback, rating)
Display ranking of mentors (admin only or everyone?)
We want to reduce the amount a mentor/director needs to scroll to look at tickets especially if we have a ton of them open
Load a newly posted ticket from the user so they don't have to wait 30 seconds for it to update
make a new page login/splash page. it should:
Whenever someone opens a ticket, their name should be on that ticket so we know who we're talking to. In addition, on top of the ticket panel, add a "Hi there NAME \n How many we help you?"
Find suitable way to deploy MentorQ frontend
YAY this one has a license file, but its not MIT lmfao
Find a way to escape infinite loading when it arises (timeout)
Find a way to force logout when a user is logged in and LCS fails
Reduce Volume of Requests by only pulling most updated feedback on login and when edit feedback button is clicked. In addition, change ticket update interval from 3 seconds to 30 seconds
Potentially move the useStyles hooks into a separate file if it's more than like 20 lines long (RE: ticket.index.js). Double check to see if this is possible.
Make the "Help Me!" button disabled until all fields have values in them
Modify it such that only the Mentor who claimed a ticket can close it (a Mentor shouldn't be able to close another mentor's ticket)
Edit the way the claim/closed system works for the tickets.
State: OPEN -> can be CLAIMED by Mentor/Admin
State: CLAIMED -> can be OPENED or CLOSED by Mentor/Admin
State: CLOSED -> can be REOPENED by Admin
Make sure to only display buttons related to the possible options for that particular ticket status
Give an error when the user inputs a comment that is longer than 255 characters while creating a ticket (cannot submit tickets with comments longer than 255 characters)
Ability to mark mentors on/off duty and display the number of mentors who are active to hackers. (if 0, then queue is closed, otherwise is open)
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.