A Task assignment and Management WebAPI that you can employ on your bussiness to Assign, Delete and Modify all details of a Task, wheter it be it's Description, Priority or it's current assigned users.
Key Features • Setting up • Usage • Credits
- JWT-Based Auth
- The API issues a unique JWT as a response from the user's succesful authentication
- It contains all of the user's needed Claims for the Authorization and various other processes to work with
- Fully hashed and cryptographed in HmacSHA256 algorithm
- Account management
- Fully implemented endpoints that allow a client to Sign up, Login, change Username, Password and Delete it's account with all of their created tasks.
- Admins can change other user's roles, usernames and delete their account.
- Task Management
- With the Task endpoint, a authenticated user can Fetch, Create, Delete, Modify, Assign or Deassign other users from their tasks.
- Tasks can be filtered in the fetching Endpoint's URL
- Other users Tasks can be fetched by passing their URL to the Endpoint
- All changes related to their Tasks are always saved as a persistent data on a SQLServer Database
- Admin accounts can Manage other user's Tasks.
- You need to have .NET SDK 6.0 or higher installed on your machine
- Access to a Microsoft SQLServer instance.
$ git clone https://github.com/Haise777/TaskManagement.git
$ cd TaskManagement/WebAPI
$ dotnet restore
$ dotnet build
$ cd TaskManagement.API/bin/Debug/net6.0/
# Edit the 'appsettings.Development.json' file and place your Connection String in the "TestDb" value.
$ ./TaskManagement.API
(In progress) It is designed to be used with a Frontend app as a client to call and manage it's operations. But you can still test and utilize it to a extent by calling it's endpoint with a tool such as Postman
# Check if your URL match the server's URL
>[POST] http://localhost:5000/auth/signup
Body Raw-Json: {
"UserName": "Chris_Redfield",
"Password": "BolderPuncher2",
"Email": "fakeemail@mail.com"
}
>[POST] http://localhost:5000/auth/login
Body Raw-Json: {
"UserName": "Chris_Redfield",
"Password": "BolderPuncher2",
}
# You have to copy the returned Token and set it to your Authorization header to proceed
# Headers -> Authorization : Bearer eyIJPWAjd198jdw890scp...
>[POST] http://localhost:5000/tasks/createtask
Body Raw-Json: {
"Title": "This is the first task",
"Description": "This is a test task",
"Priority": 3,
}
>[GET] http://localhost:5000/tasks/createtask
This software uses the following open source packages:
OPZBot is released under BSD 3-Clause license
Contact me
Email: gashimabucoro@proton.me · Discord: @.haise_san