Overview
Implement the /assignment endpoints defined in the API planning document https://github.com/puffproject/docs/blob/master/API_ARCHITECTURE.md.
You can break the following into separate issues for pull requests if you want.
Breakdown
- Create an Assignment entity based on the
ASSIGNMENT table.
- Should have a many to one mapping to courses.
- Can maybe include both the Course object and id as separate fields if that makes things easier.
- Create an AssignmnentAttribute entity based on the
ASSIGNMENT_ATTR table.
- Should be similar to the CourseAttribute entity.
- You'll also need an Enum for the attribute names.
2.5. Create AssignmentPage and AssignmentAttributeView models.
- You can do this by extending BasePage and
AssignmentAttributeView will have the same fields as values for the enum from 2.
- Create a Assignment & AssignmentAttribute JPA repository interfaces.
- Similar to the Course repositories already created.
- Create an Assignment service interface and class
- Should be similar to the
CourseService already implemented
- Don't forget to throw
ElementNotFound exceptions if the associated Course can't be found for an assignment.
- Create an REST interface for Assignment endpoints
- Similar to the Course REST interface already created.
- Implement the REST interface with a RestController for Assignment endpoints
- Similar to the Course Controller.
- Don't forget the security and access control on endpoints.
- Write tests for your endpoints (You should also test manually)
- Unit tests for your Assignment service class
- Api component tests for your new apis
- There are already some tests written for Courses that you can work off of.
Overview
Implement the
/assignmentendpoints defined in the API planning document https://github.com/puffproject/docs/blob/master/API_ARCHITECTURE.md.You can break the following into separate issues for pull requests if you want.
Breakdown
ASSIGNMENTtable.ASSIGNMENT_ATTRtable.2.5. Create
AssignmentPageandAssignmentAttributeViewmodels.AssignmentAttributeViewwill have the same fields as values for the enum from 2.CourseServicealready implementedElementNotFoundexceptions if the associated Course can't be found for an assignment.