This is the API built simply. Supports Authentication
, Email sending
and Task Management
.
Authentication
- Register
- Login
- Get User Details
- Role Based Access Control(admin/user)
Email sending
(using a custom simple queue database driver)
The task system operates by using JWT
for authentication. The system has two roles, admin
and user
. Only the admin can create and assign tasks to users or to themseleves. Each User has only one role, to mark the task as complete.
The system will send an email notification to the user once they are assigned a task. It will also send an email notification to the admin once the user marks the task as complete.
The database has been seeded with several users and tasks. The admin credentials are:
email: Murphy.Funk38
password: password
With enough reources and time, the following improvements can be made to the system:
Pagination
for the tasks and usersSearch
for the tasks and usersIn App Notifications
for the user when they are assigned a task(when they are online using websockets)A more robust authentication
system with password reset and email verificationA more robust email sending system
with email templatesUse of better queue drivers
like redis or rabbitmq