RCornidez / Task-Manager

A task management application built with React, Express, and Sequelize, featuring local data storage using SQLite.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Task Manager

Table of Contents

  1. QuickStart
  2. API Endpoints
  3. System Overview
  4. File Tree

QuickStart

Download the repository

Install dependencies with Node Package Manager (NPM)

npm install

Run the code

npm run dev

Access the Application http://localhost:5173/

Access API endpoints via browser or Postman for testing

http://localhost:3000/api/


API Endpoints

Here's a list of the available API endpoints with the base URL `http://localhost:3000/api/`, along with notes on their functionality:

Task Routes

  1. POST /tasks - Create a new task.
  2. GET /tasks - Retrieve all tasks.
  3. GET /tasks/:id - Retrieve a specific task by its ID.
  4. PUT /tasks/:id - Update a specific task by its ID.
  5. DELETE /tasks/:id - Delete a specific task by its ID.

Category Routes

  1. POST /category - Create a new category.
  2. GET /category - Retrieve all categories.
  3. GET /category/:id - Retrieve a specific category by its ID.
  4. PUT /category/:id - Update a specific category by its ID.
  5. DELETE /category/:id - Delete a specific category by its ID.

TimeTracking Routes

  1. POST /time - Create a new time tracking record.
  2. GET /time - Retrieve all time tracking records.
  3. GET /time/:id - Retrieve a specific time tracking record by its ID.
  4. PUT /time/:id - Update a specific time tracking record by its ID.
  5. DELETE /time/:id - Delete a specific time tracking record by its ID.

System Overview

- Model-View-Controller Architecture.
- The database context is defined within the db object in db.js
- The model layer is controlled using Sequelize ORM and is accessible in the models directory.
- The view layer is created using React and is found within the view directory.
- The controller layer contains classes that defines data objects that utilize Sequelize ORM methods and are passed to their respective routes within routes.js.
- The API is all pulled together within index.js and served using Express.s

File Tree:

    .
    ├── controllers
    │   ├── categoryController.js
    │   ├── taskController.js
    │   └── timeTrackingController.js
    ├── models
    │   ├── category.js
    │   ├── task.js
    │   └── timeTracking.js
    ├── db.js
    ├── index.js
    ├── package.json
    ├── README.md
    └── routes.js

About

A task management application built with React, Express, and Sequelize, featuring local data storage using SQLite.


Languages

Language:JavaScript 89.6%Language:CSS 8.6%Language:HTML 1.8%