icssc / peterportal-client Goto Github PK
View Code? Open in Web Editor NEWA web application to aid UCI students with course discovery and planning.
Home Page: https://peterportal.org
License: MIT License
A web application to aid UCI students with course discovery and planning.
Home Page: https://peterportal.org
License: MIT License
site/src/component/Review
DUMMY_DATA
.DUMMY_DATA
to a container.review-component
branchNumerical rating should follow this color scheme:
The colors are already implemented as CSS variables:
You can call the variable using var(--peterportal-primary-color-1)
for example.
Anonymous Anteater
and the avatar placeholder as a solid color.Look into Redux Tookit for global store.
Redesign Review Form to look like this.
Redesign Review to look like this.
Make the components reusable for courses/professors. Set global state to determine which type. Store course and professor data, store string containing which review type.
Currently the Course Page shows the ucinetid of the professor, which is not very readable. Would be better to display their names instead.
{
reviewID: <string>
userID: <string>
reason: <string>
}
Task Summary: WIP
http://searchkit.github.io/searchkit/stable/
Integrate the Reviews API into React. Don't start until the pull request #19 is approved. Ask Mars for a FAUNA_SECRET, then add an additional entry to api/.env (FAUNA_SECRET=). I recommend you play around with the endpoints in Postman. Make some dummy data first and get familiar with the endpoints.
Fauna extension: https://docs.fauna.com/fauna/current/integrations/vs_code.html
Add "More Info" icon to course cards (Course.jsx) (tip: import InfoCircle from react-bootstrap-icons)
Implement Bootstrap overlay/popover when hovering over the icon
Display course name, title, description, prerequisites, and units in the popover (reminder to pass all the props to the course function)
You can decide where is best to place the popover relative to the course card
The layout should be similar to the Course Page, but without the prerequisite component.
Allow authorized users to remove flagged comments.
Currently, the user has to reload the page to see their new review. Would be better if the review is rendered automatically after a request is sent.
After sending a post request to make a review, the server responds with the review object in the database. Just append that new review to the Review Component's state and it should render the new review.
Redesign Sidebar to look like this.
Redesign App Header to look like this.
Redesign Search Bar to look like this. Redesign Search Filters to slide out as a drawer like this for courses and this for professors.
Ask Mars for an API key, when you're ready
Create a collection for Reviews
Create an endpoint on the internal API to POST documents to the FaunaDB Reviews collection using form data.
Schema:
{
professorID: '...',
courseID: '...',
userID: '...',
reviewContent: '...',
rating: '...',
difficulty: '...',
timestamp: '...',
gradeReceived: '...',
forCredit: true|false,
score: '...'
}
Create separate indexes on FaunaDB Reviews collection to query by courseID
, professorID
, and userID
Create an index to query all Reviews
Create an endpoint on the internal API to GET/query FaunaDB for reviews by courseID and professorID.
Create endpoints on the internal API to PATCH/modify existing reviews. (Let's just do this for upvote/downvote score for now ๐ )
There are two methods to drive FaunaDB. FQL and GraphQL. I would recommend you look into GraphQL because a lot of jobs these days are looking for GraphQL skill. But the choice is up to you! ๐
Also, try to play with FaunaDB on your personal account first. It can be a lil bit tricky at first, but the Dashboard GUI can be mighty helpful/
/roadmap
and /zotistics
Currently, AWS services are pricy, would be nice to have local dev environment. Would be easy to distribute for open source contributors.
Use passportjs.
Due to how we handle routing in the URL, the CRM/LAW C172 course is slicing the URL and react thinks were going to a course called 'CRM' instead of 'CRM/LAW C172'. Need routes to handle the '/' character.
https://stackoverflow.com/questions/56133182/allow-slashes-in-route-parameter-on-react
site/src/component/Schedule
DUMMY_DATA
.DUMMY_DATA
to each row in a table.schedule-component
branchA 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.