The goal of this project is to assess development skills suitable for a full stack developer position. It tests knowledge and proficiency with software design, unit testing and web technologies like HTTP and REST.
- Project Name: University user management system
- Project Goal: Create a small web-app for add user and REST API for mangemnet courses.
- Technology: Pick any language, web framework and testing framework you like
- Deliverables:
- Docker compose file contain 3 images: 1. backend 2. frontend 3.database
- ER diagram
Description:
A University user management system is a system to manage users in the university. In this university, users consist of 2 roles. First is the student role, students can enroll in courses. The second is teacher role, the teacher can assign grades to students in his/her course.
Frontend
- Web application allows admin to add users into the system.
- Table to view list of users in the system.
- Working integrated backend API for creating users and view users.
Backend
- Design database schema to match project description.
- Design your API in a RESTful way and respond with JSON.
- Write the code and design your system to be as realistic and production-ready as possible. Follow best practices and focus on quality.
- [OPTIONAL] Unit testing
- Make CRUD API from your database design. You should have at least 3 endpoints.
- API Document
Push all code to your public github repository and pack all your code in docker-compose file. Docker compose file should contain backend image, front image and db image. Describe your solution in a README and how to run it.
Guidelines
Please commit often and with good commit messages. This will allow us to see how you've approached the problem. Don't worry about changing things around often.
Don’t hesitate to ask any questions if you’re uncertain about the task or anything else is unclear.
For API document we suggest you to use library tool like swagger.