Coder Social home page Coder Social logo

majdshatti / tascheduler-api Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 527 KB

Express API that provides clients with multiple endpoints for scheduling and managing their own tasks.

TypeScript 100.00%
cron-jobs expressjs mongodb mongoose nodejs socket-io task-manager task-manager-backend typescript api jwt-authentication rest-api

tascheduler-api's Introduction

TaScheduler-api

alt text

Introduction

TaScheduler API is a backend project that provides clients with multiple endpoints for scheduling and managing a user's tasks.

TaScheduler-api features

  • Authenticated and Authorized.
  • Reset password.
  • Multiple projects with multiple tasks.
  • Each task can have multiple todos.
  • Node cron tasks for checking task status (overdue, completed and started).
  • Supports real time notifications (under development).
  • Multiple languages for server respones only.

API Endpoints

Un Authenticated User Endpoints

HTTP Verbs Endpoints Action
POST /api/auth/register Create a new user account
POST /api/auth/login Login an existing user account
POST /api/auth/forgotpassword Request a reset password to an existing account
POST /api/auth/resetpassword/:token Set a new password

Authenticated Endpoints

User Endpoints

HTTP Verbs Endpoints Action
GET /api/user Retrieve all users
GET /api/user?limit=10 Retrieve all users with pagination of 10 documents
GET /api/user/profile Retrieve logged in user profile
GET /api/user/:slug Retrieve user informations by slugyifed username
PUT /api/user Edit User profile
DELETE /api/user Delete user account

Project Endpoints

HTTP Verbs Endpoints Action
GET /api/project Retrieve all projects
GET /api/project?limit=10 Retrieve all projects with pagination of 10 documents
POST /api/project Create a project
PUT /api/project Edit a project informations
DELETE /api/project Delete project account

Task Endpoints

HTTP Verbs Endpoints Action
GET /api/task Retrieve all tasks
GET /api/task?limit=10 Retrieve all tasks with pagination of 10 documents
POST /api/task Create a task
POST /api/task/:id/todo Add a todo to a task
PUT /api/task Edit a task informations
PUT /api/task/:id/complete Mark task as completed
PUT /api/task/:id/todo/:todoId Edit a todo description
PUT /api/task/:id/todo/:todoId/check Mark a todo as completed
DELETE /api/task Delete task account
DELETE /api/task/:id/todo/:todoId Remove a todo from task

Technologies Used

  • NodeJS This is a cross-platform runtime environment built on Chrome's V8 JavaScript engine used in running JavaScript codes on the server. It allows for installation and managing of dependencies and communication with databases.
  • ExpressJS This is a NodeJS web application framework.
  • MongoDB This is a free open source NOSQL document database with scalability and flexibility. Data are stored in flexible JSON-like documents.
  • Mongoose Mongoose provides a straight-forward, schema-based solution to model your application data. It includes built-in type casting, validation, query building, business logic hooks and more, out of the box.
  • Socket.io Socket.IO is an event-driven library for real-time web applications.

Authors

tascheduler-api's People

Contributors

majdshatti avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.