Skip to content

Innovate-Lab/webdev-intern-assignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Authentication and Authorization

You are required to design an authorization system for a system.

Your system has 3 types of users: administrator, editor, reader.

Each user has certain permissions:

  • administrator: has all permissions
  • editor: has permission to read and edit articles
  • reader: has permission to read articles

Please design an authorization system for the above requirements.

Requirements:

  • Your application should have at least the functions in Must have, you can add the functions in Nice to have (these are bonus points)

Must have

  • Registration / Login
  • User authorization (admin, editor, reader)

Nice to have

  • Swagger API / Postman collection / ... (any documentation that helps others easily understand your API)
  • Article system (CRUD)
  • Scalable system (e.g., adding a new type of user)
  • Forgot password
  • Deploy the application to a free service like Heroku, fly.io, render.com, ... (or any other service)
  • Unit test
  • Ability to run the application in a Docker container
  • Any other features you think are necessary

Technical requirements

  • Backend: You can use any language you are familiar with such as: NodeJS, Python, ...
  • Database: You can use any database you are familiar with such as: MySQL, PostgreSQL, MongoDB, ...

How to submit

Time to complete: 3 days

After you complete the test, you can send your GitHub link to us via email: [email protected]

Do not forget to clearly state the instructions on how to run your application in the README.md file

Good luck!

Your Code Work

About

This is the instruction for web developer intern assignment at InnoLab

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published