To-do-expressJS-api - An ExpressJS API, where you can create your own To-Do's

Overview

ExpressJS to-do API

What is this API about?


This is an API where you can do the following:
  • Log in.
  • Sign up.
  • Create task
  • Read Task
  • Update Task
  • Delete Task
  • Upload an image
  • And more...

It also comes with JWT authentication, and it uses SendGrid to send email when you signup or delete your account.

Some of the endpoint are tested with the Jest library.

Imgur                    

JavaScript Express.js MongoDB NodeJS Licence

Execute in your editor


Before run the API, you should have installed MongoDB in your computer, and configured the following files:

  • dev.env
  • test.env

Feel free to modify these files with you config or use the default.

PORT=3000
SENDGRID_API_KEY=MySecretApiKey
MONGODB_URL=mongodb://127.0.0.1:27017/todo
JWT_SECRET=secretkey

Attention: You should use your own SENDGRID_API_KEY, by default all the functions that use the SendGrid API are commented, that way you will not have any error if you don't have the private key šŸ˜‰ .

Run the project


Use NPM to run the project:

npm install
npm run start

You can also run it using nodemon:

npm run dev

Run all the tests


To run all the tests with Jest, use the following command:

Jest

npm run test

Example using Postman


Here you can use examples of use, using Postman

New User new user

Login login

Update Profile update profile

Create task Create task

Get all task Get all task

and more...

npm run test

Acknowledgements


  • ExpressJS Fast, unopinionated, minimalist web framework for Node.js.
  • Jest a delightful JavaScript Testing Framework with a focus on simplicity.
  • Moongose elegant mongodb object modeling for node.js.
  • Sharp High performance Node.js image processing.
  • Validator A library of string validators and sanitizers.
  • JsonWebToken JsonWebToken implementation for node.js.
  • Bcryptjs Optimized bcrypt in plain JavaScript with zero dependencies.
  • Multer Middleware for handling "multipart/form-data".
  • Nodemon Monitor for any changes in your node.js application and automatically restart the server - perfect for development.

License

Closures is provided under the MIT License.

MIT License

Copyright (c) 2022 PĆ©rtile Franco Giuliano

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

MIT

You might also like...

Toggles the visibility of completed and canceled to-dos

Logseq Wide Eyed Plugin Toggles the visibility of completed and canceled to-dos. Toggling is controlled by the eye appearing in the toolbar. It has op

Sep 13, 2022

Overlay dos brasileiros, a partir do Discord, no r/place 2022

[Instruction available in English below] - InstruƧƵes de uso do overlay do r/brasil no r/place 2022 INSTRUƇƕES PARA USAR O OVERLAY: Instale o TamperMo

Sep 20, 2022

A simple To Do List application that allows users to save, edit, mark completed, and delete their to-dos, and save their list when application is closed. Build with JavaScript.

To Do List A simple To Do List online application that allows users to save, and manipulate their to-dos, and save their list when application is clos

Dec 20, 2022

Aplicativo web para apuraƧƵes dos resultados da eleiƧƵes de 2022 para presidente.

Aplicativo web para apuraƧƵes dos resultados da eleiƧƵes de 2022 para presidente.

APP de ApuraƧƵes dos Resultados das EleiƧƵes de 2022 https://apuracoes-eleicoes-2022.netlify.app/ Trata-se de um aplicativo minimalista com o objetivo

Oct 31, 2022

CĆ³digo-fonte do site dos Guardians UFCG.

Guardians UFCG Esse Ć© o repositĆ³rio com o cĆ³digo-fonte do site dos Guardians UFCG. User Interface Nosso Front-end serĆ” baseado nesse documento do Figm

Oct 22, 2022

Keep track of the movies you've watched and create your own movies lists!

Keep track of the movies you've watched and create your own movies lists!

Cinematek Keep track of the movies you've watched and create your own movies lists! All the movies informations are provided by The Movie Database Dep

May 23, 2022

GifOs is a small app for you to find gifs and also be able to create your own.

GifOs is a small app for you to find gifs and also be able to create your own.

GifOs GifOs is an small app for you to find gifs and also be able to create your own ones. Techs Used This project was built with Next.Js and Typescri

Oct 11, 2022

This extensions adds blocks to help you create your own carnival games in MakeCode Arcade using throwable balls, extra timer functions, and extra game-over options.

Usage This extensions adds blocks to help you create your own carnival games in MakeCode Arcade using throwable balls, extra timer functions, and extr

Nov 16, 2022
Owner
PĆ©rtile Franco Giuliano
I am an information system engineer, who likes data science, web development and learning languages.
PĆ©rtile Franco Giuliano
This is a boilerplate for creating your own languages for various use cases. You can even create your own programming language from scratch!

Bootstrap compiler This is a bootstrap compiler that can be used to compile to compiler written in the target language. You can write a compiler in th

Kaan 3 Nov 14, 2022
This React-Based WebPage allows the client/user system to create their own blog, where users can publish their own opinions.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Gauri Bhand 4 Jul 28, 2022
This is a full-stack exercise tracker web application built using the MERN (MongoDB, ExpressJS, ReactJS, NodeJS) stack. You can easily track your exercises with this Full-Stack Web Application.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

WMouton 2 Dec 25, 2021
šŸ“ You Can Create Your Own Short Notes With The Help of Sticky-Notes Website.

Hi ?? , I'm Sneh Agrawal A passionate Web developer from India ?? Iā€™m currently working on Chatting Website Chit-Chat ?? How to reach me on My Gmail A

Sneh (Smilyboyy) 1 Feb 23, 2022
Uma Api dos 151 primeiros pokemons utilizando NodeJS, Typescript, Docker, MongoDB e Mongoose.

Pokedex API TĆ³picos Preview Sobre o Pokedex Api Tecnologias InstalaĆ§Ć£o e uso Preview Clique aqui para ter acesso a um preview da Api. Sobre o Pokedex

Marlon Lacerda 3 Nov 27, 2022
zkPoB is a mobile compatible tool that lets anyone prove they own a Bufficorn (or any NFT) without revealing which Buffi they own or the address they are verifying themselves with

zkPoB is a mobile compatible tool that lets anyone prove they own a Bufficorn (or any NFT) without revealing which Buffi they own or the address they are verifying themselves with

Marto.eth 10 Aug 25, 2022
A project that let's you see a list of scores using an API, you can add ypur own and it will be saved on the list forever

Leaderboard This is a project that let's you see a list of scores using an API, you can add ypur own and it will be saved on the list forever! Built W

JoaquĆ­n G. L. Z. 4 Mar 4, 2022
may-be.gay is a service in which you can register your own sub-domain for your personal website

may-be.gay is a service in which you can register your own sub-domain for your personal website. How to register New method (Recommended) Create a new

may-be.gay 7 Dec 27, 2022
Uma aplicaĆ§Ć£o criada com react-native para armazenar as skills dos usuĆ”rios cadastrados.

SkillsClass AplicaĆ§Ć£o focada no gerenciamento de skills dos usuĆ”rios cadastrados. Uma aplicaĆ§Ć£o desenvolvida no ignite da Rocketseat com alguns toques

Carlos Ferreira 1 Dec 25, 2021
Educare Ć© um projeto que visa auxiliar os estudos dos alunos por meio da resoluĆ§Ć£o de questƵes. Front-end construĆ­do com Next.js.

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Tarso Jabbes 3 Feb 6, 2022