Skip to content

placeholder description -> A Task Management System that works with a divided Backend API and a Frontend App

License

Notifications You must be signed in to change notification settings

Haise777/TaskManagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 

Repository files navigation


Task Management WebAPI

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.

Static Badge Static Badge Static Badge GitHub License

Key FeaturesSetting upUsageCredits

Key Features

  • 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.

Setting up

Setting up

  • You need to have .NET SDK 6.0 or higher installed on your machine
  • Access to a Microsoft SQLServer instance.

1. Clone the repository to your machine

$ git clone https://github.com/Haise777/TaskManagement.git

2. Resolve all packets dependencies

$ cd TaskManagement/WebAPI
$ dotnet restore

3. Build all projects

$ dotnet build

4. Insert you Db Connection String

$ cd TaskManagement.API/bin/Debug/net6.0/
# Edit the 'appsettings.Development.json' file and place your Connection String in the "TestDb" value.

5. Run the API

$ ./TaskManagement.API

Usage

(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

Here is *some* of the endpoints you could try

# 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

Credits

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

About

placeholder description -> A Task Management System that works with a divided Backend API and a Frontend App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages