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
Here's a list of the available API endpoints with the base URL `http://localhost:3000/api/`, along with notes on their functionality:
POST /tasks
- Create a new task.GET /tasks
- Retrieve all tasks.GET /tasks/:id
- Retrieve a specific task by its ID.PUT /tasks/:id
- Update a specific task by its ID.DELETE /tasks/:id
- Delete a specific task by its ID.
POST /category
- Create a new category.GET /category
- Retrieve all categories.GET /category/:id
- Retrieve a specific category by its ID.PUT /category/:id
- Update a specific category by its ID.DELETE /category/:id
- Delete a specific category by its ID.
POST /time
- Create a new time tracking record.GET /time
- Retrieve all time tracking records.GET /time/:id
- Retrieve a specific time tracking record by its ID.PUT /time/:id
- Update a specific time tracking record by its ID.DELETE /time/:id
- Delete a specific time tracking record by its ID.
- 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
.
├── controllers
│ ├── categoryController.js
│ ├── taskController.js
│ └── timeTrackingController.js
├── models
│ ├── category.js
│ ├── task.js
│ └── timeTracking.js
├── db.js
├── index.js
├── package.json
├── README.md
└── routes.js