Design a user interface (UI) for a course management system based on the following database table structure for a Course. Ensure the UI reflects the necessary fields and actions to create, view, and update courses.
Course ID: This field should be auto-generated by the system, so it doesn't need to be editable by the user. Display this value when viewing or editing a course.
Course Name: Create an input field that allows the user to enter the course name. This field should be required and should accept up to 255 characters.
Course Description: Include a text area for users to provide a detailed description of the course. This field can be optional but should allow longer text.
Instructor: Display a dropdown or search functionality that allows users to select the course's instructor from the list of existing users. This field references the created_by field, which is linked to the User table.
Created At: Display the timestamp indicating when the course was created. This value should be automatically generated and displayed to the user, but not editable.
Last Updated: Display the last updated timestamp. This value should be automatically updated by the system whenever changes are made to the course and should not be editable by users.
Provide a button or form submission option to allow users to create a new course with the specified details.
Allow users to modify the course_name, course_description, and created_by fields while showing the auto-generated fields like course_id, created_at, and updated_at in read-only mode.
Include a page or modal for viewing the details of a course without editing it.
Optionally, provide a button to delete a course, ensuring that confirmation prompts are in place before deletion.
The UI should be intuitive, with clear labels and validation for required fields like course_name.
Students should authenticate before accessing the system.
Provide a simple, clean, and secure login screen.
After login, students should land on a dashboard that displays available exercises to choose from.
Once an exercise is selected, students are taken to a coding environment to implement their solution.
Run Code button to compile and run the code
Clear Code button to reset the editor
Submission button to submit the final solution for grading
After submission, students should see the results of their submission.
Try again button to return to the code editor for improvements
Return to dashboard button