icerahi / EventManager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Task manager

Task Manager is a Fullstack Task Management Application, where people can register and login into their account. Users can perform add their daily tasks, color-highlight any task, after done they can mark a task as done. Also in the sidebar screen, they can see their done tasks.

Live

Video Demo: https://youtu.be/4S5oi9WjbZE

Frontend: Click or visit here: https://taskmanager-rahi.web.app/

Backend api root: http://taskmanage.pythonanywhere.com

Tech Stack

Frontend: Reactjs,Bootstrap,Redux,Context Api,react-router-dom,react-hook,react-hook-form,react-toastify,jwt-decode,axios

Backend: Python,Django,Restframework,simpleJWT,cors-headers,mysqlclient

Database: Mysql,Sqlite3.

Features

  • Register with username,email and password
  • Login with username and password
  • Add Task
  • All Task in a single screen
  • Highlight/change color of a Task
  • Make a task as done
  • All done tasks listed in sidebar drawer
  • Delete a task parmanently from done list

API Reference

Register

  POST /auth/register/
body
username,email,password,password2

Login

  POST /auth/login/

body
username,password

For every request for each end point below is Required to pass a Jwt token in request header with prefix JWT

GET Task Lists

  GET /
Parameter Response
All tasks
query=done All done tasks
query=undone All undone tasks

Create a new Task

  POST /
body Response
note:str,color(option:str),is_done(optional:bool) new task

Update a new Task

  PUT /<id>
body Response
note:str,color(option):str,is_done(optional):bool} updated task

Delete a new Task

  DELETE /<id>

Run Locally

Clone the project

  git clone https://github.com/icerahi/taskmanager

Go to the project directory

  cd taskmanager

Setup backend with mysql database

sudo /opt/lampp/lampp start

Go to project backend directory and write

  cd backend
  virtualenv -p python3 venv 
  source venv/bin/activate
  pip install -r requirements.txt
  python manage.py loaddata data.json
  python manage.py makemigrations
  python manage.py migrate 
  python manage.py runserver

Setup frontend

Go to frontend directory

  cd frontend

And inside the src folder open the .env file and comment down production domain and uncomment localdomain

  npm start

It will open the Project in your default browser: http://localhost:3000

Authors

About


Languages

Language:JavaScript 46.4%Language:CSS 40.6%Language:Python 12.3%Language:HTML 0.7%