Goals
The final feature before the app can get released to the public. 7000 Languages needs a way to approve/reject course applications in order to ensure that not anybody can create a course. We can set-up a simple system that lets them review courses.
- When a person submits the Apply to Contribute form, we email 7000 Languages we information about the course along with an approve/rejection button. We can send the information and button in a HTML page.
- After clicking approve/reject, we hit an API endpoint that updates the
approved field for the course.
Steps
- Build out the HTML page for the email sent to 7000 Languages. It can be coded with plan HTML and CSS.
- Use a template engine like Pug and Node fs to read in the template and format it with actual course info from the database.
- Use Nodemailer to send the email to 7000 Languages after the
POST '/language/course' endpoint is hit.
- Create an endpoint that approves/rejects a course. The input for the endpoint should be the
course_id and accept/reject, but course_id should be encrypted in some way so that not anyone can call this endpoint with any course_id should they get their hands on a course_id. Up to you to decide which encryption algorithm to use.
This is a tricky issue with multiple parts, so I recommend doing it one step at a time and merging individually parts.
Resources
Goals
The final feature before the app can get released to the public. 7000 Languages needs a way to approve/reject course applications in order to ensure that not anybody can create a course. We can set-up a simple system that lets them review courses.
approvedfield for the course.Steps
POST '/language/course'endpoint is hit.course_idand accept/reject, butcourse_idshould be encrypted in some way so that not anyone can call this endpoint with anycourse_idshould they get their hands on acourse_id. Up to you to decide which encryption algorithm to use.This is a tricky issue with multiple parts, so I recommend doing it one step at a time and merging individually parts.
Resources