Skip to content

0xluckycoder/task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Resources

Features

  • User Account Features
  • CRUD functionality for todo
  • Change Order by dragging each todo
  • Search feature
  • Detail Modal
    • Due date
    • Rich text editor for notes
    • Attach image items
    • create workflows

Add Later - share workflows with others - add tags for each todo - send email to user end of every month with InSights - send summary email to user about tasks

  • Workflow - App development project
    • List - UI design
      • Todo Items
    • List - Frontend development
      • Todo Items
    • List - Frontend Q/A
      • Todo Items
    • List - Backend development
      • Todo Items
    • List - Backend Q/A
      • Deploy

TODO

  • - model database with required entities and properties

  • Client

    • - Global
      • - Navbar
        • - Burger bar toggle
      • - Sidebar
        • - Account Card
        • - Menu Items
      • - Search bar
      • - Account Card
    • - Tasks Page
      • - page heading
      • - progress bar
      • - todo elements
      • - Add List form
      • - Add Todo form
    • - Workflow Page
    • - Settings Page
  • Express Backend

    • - configure typescript & nodejs
    • - Create file structure
    • [/] - Setup error handling middleware
    • [/] - Design routes for Entries
      • - Create new user pool
      • - User Routes
        • - /users/signUp - POST - Create new user record
        • - /users/login - POST - Login user
        • - /users/verifyAuth - GET - Verify authentication
        • - /users/:id - GET - Get single user record
        • - /users/:id - PUT - Update user record
        • [-] - /users/:id - DELETE - Delete user record
        • [-] - /users - GET - Get all user records (admin)
      • - Workflow Routes
        • - /workflows - POST - Create new workflow record
        • - /workflows/:id - PUT - Update single workflow
        • - /workflows/:userId - GET - Get all workflows related provided user ID
        • - /workflows/:id - GET - Get single workflow record
        • - /workflows/:id - DELETE - Delete single workflow record
      • - Task Route
        • - /tasks/:workflowId - POST - Create new task record for provided workflow ID
        • - /tasks/workflows/:workflowId - GET - Get all tasks related to provided workflow ID
        • - /tasks/:id - GET - Get single task
        • - /tasks/:id - PUT - Update task
        • - /tasks/:id - DELETE - Delete task
      • - Task Item Route
        • - /taskItems/:taskId - POST - Create new TaskItem record for provided task ID
        • - /taskItems/tasks/:tasksId - GET - Get all taskItems records by provided task ID
        • - /taskItems/:id - GET - Get single taskItem record
        • - /taskItems/:id - PUT - Update single taskItem record
        • - /taskItems/:id - DELETE - Delete task item record
    • - Make sure to authorize endpoints with current logged in user
    • - Draw markdown diagram to explain the authentication flow
    • - Learn to organize typescript project (see how other projects / libraries are architecture)
  • - Follow Node Best Practices - https://github.com/goldbergyoni/nodebestpractices

  • - Go through CodingGarden starter TS API

  • - https://github.com/airbnb/javascript#control-statements - adapt a JS style guide

  • - Move all dev dependencies to devDependencies

  • - Learn JEST testing

  • - Learn Generic interfaces - https://chat.openai.com/chat/9270271f-2d83-4836-b3a6-0920522293f9

  • - Recap the syntax while reading lib code

    • - Fix Vulnerability - check explicitly for access token expired error when refreshing the accessToken with refreshToken
    • - Fix Vulnerability - older expired access tokens canont be used to get new tokens
      • Read token based auth guide

Code Clean up and restructure

  • - Review open source project and restructure the typescript code

  • - Authentication

    • - Cognito user pool
      • - Setup new user pool in AWS (basic email and password)
      • - Configure Login / SignUp / Authorization
        • - SignUp
          • - SignUp to cognito
          • - Confirm Account
          • - Create User attribute record for the user
          • - Create Initial stuff records and link with logged in user
          • - Test
        • - SignIn
          • - Provide user name and password and login
          • - Get user details
          • - Extract tokens from cookies
          • - Return new cookies
          • - Test
        • - Authorization
        • - Verify Authentication
      • - Enable Federated login later
    • - Handle forgot password manually (by administrative API)
    • - Handle SignUp Account confirmation manually (by administrative API)
  • Compare your code with other well written code

  • Go through TS docs again and learn every bit

  • Serverless Backend (production)

Database Entities

  • User Entity

    • ID
    • subId - String (Cognito FK)
    • email - String
  • Workflow Entity

    • ID
    • Name - String
    • Tasks - Array[ID, ID] (FK)
    • User - ID (FK)
  • Task Entity

    • ID
    • Name - String
    • Key - number
    • KeyTo - number
    • KeyFrom - number
    • TaskItems - Array[ID, ID] (FK)
  • Task Item Entity

    • ID
    • Title - String
    • Description - String
    • Due Date - String
    • Attachments - Array
    • IsCompleted - Boolean

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published