Code Monkey home page Code Monkey logo

neosoft-technologies / rest-node-nestjs Goto Github PK

View Code? Open in Web Editor NEW
52.0 52.0 36.0 8.85 MB

With this skeleton, we can easily start a server application using Node.js, Nest JS and TypeScript.

Home Page: https://neosoft-technologies.github.io/rest-node-nestjs/

License: Apache License 2.0

Shell 0.34% JavaScript 2.62% TypeScript 95.69% Dockerfile 0.25% Pug 1.10%
best-practices boilerplate docker jest nestjs node nodejs restful-api typeorm typescript

rest-node-nestjs's People

Contributors

charchitd avatar dependabot[bot] avatar nst-coe-sasachan avatar pareshjoshi2468 avatar prajwalkarale08 avatar rkg1007 avatar santoshneo avatar santoshshinde2012 avatar sasachan avatar ssingh3006 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rest-node-nestjs's Issues

EP - Basic CRUD API

This API performs the basic CRUD functionalities by directly communicating with the database in the back-end of the application

EP - CI & CD Support

CI/CD is a method to frequently deliver apps to customers by introducing automation into the stages of app development.
Using CI & CD for deploying the build to SIT, UAT and Prod environments.

EP - Unit & Integration Test Cases

Always write unit test case for every api

Originally posted by @arya0618 in #18

To check whether the given api is properly calling the required methods or not or proper service of the api is being executed or not.

EP - NoSQL database: MongoDB

NoSQL database: MongoDB object data modeling using Mongoose

  • Create Basic Connection with Mongoose
  • Defining Mongoose Model
  • CRUD Operations

EP - Cache Helper

Identifying the correct storage options for assets and media files like s3 or cloud storage is very important aspect of any project architecture. In addition to this deciding on caching strategies also plays key role in project performance in long run

Originally posted by @adnankhan-neo in #52

EP - Compression

Compression: gzip compression with compression

Originally posted by @shishirYadav in #13

Compression can greatly decrease the size of the response body, thereby increasing the speed of a web app.
Using compression and decompression we can send HTTPS requests and responses easily.

EP - ACL and Role Management

Discussed in #51

Originally posted by suresh-shetiar August 17, 2021
ACL- Access control list and role management plays a very important role in any project and adds a extra benefit in security terms about who is accessing the resources.

EP - Payment Integration

Idea is to have sample code for various type of payment integration and redme about each payment integration. Like if we have sample code for razorPay integration then we should also have readme for it about how to use it and in which cases it could be useful. Along with it additional information about in which countries this payment integration would work for.

the folder structure to be like src/paymentIntegration/razorPay

Originally posted by @suresh-shetiar in #28

EP - Multi Environment Support

Discussed in #38

Originally posted by parthdave0017 August 10, 2021
We should be able to configure multiple envs, as most major projects will atleast need dev, staging & production as a different setup.

EP - WebSocket Integration

Basic Socket.io - Websocket integration

Originally posted by @PareshNeosoft in #114
A WebSocket is a persistent connection between a client and server. With this API, you can send messages to a server and receive event-driven responses without having to poll the server for a reply.

EP - Folder Structure & Stable Dependency

For every module, there could be many npm to be used/ module that can be used as per usage/ different integrations.

for the folder structure, just an idea about creating folder structure under src as the 'src/purpose of module/integrationName'

for example: payment:
'src/payment/razorPay'
for example email:
'src/email/sendgrid'

Originally posted by @suresh-shetiar in #30

  • T - Folder Structure
  • T - Folder Documentations and Naming Conventions

EP - Email Handler

We have multiple platforms available which allows us to send an email. The idea is to have a sample code for email sender with multiple types of integration.
Email sender with NodeMailer, Sendgrid, AWS SES, and others which are famous and available as per the need

EP - AWS Support & S3

To maintain sensitive data like db/app configuration we can use parameter store.
Instead of .env file we can store all sensitive information/configurations on AWS parameter store and fetch as per requirement, this will avoid unwanted data modification on the developer end.

Originally posted by @Riyazm16 in #60

EP - Encryption Decryption Model

We should have an encryption and decryption model, such that we can encrypt and decrypt important data.

Originally posted by @mdmudassiriqbal in #42

Various inbuilt hashing algorithms are available such as AES(Advanced Encryption System)can be used for encryption which is available through the crypto module in NodeJS. This will be important for saving the user details in an encrypted format.

T- Crypto Integration with Request Handler

Integrating the encryption-decryption module with request handler. This will encrypt the request coming from the user and then we have to decrypt it in the back-end.

EP - Versioning Support for the APIs

Discussed in #40

Originally posted by parthdave0017 August 10, 2021
We need to be able to support multiple versions for each API endpoint, this can be helpful specifically when APIs are consumed by mobile & desktop applications.

EP - Folder Structure

For every module, there could be many npm to be used/ module that can be used as per usage/ different integrations.

for the folder structure, just an idea about creating folder structure under src as the 'src/purpose of module/integrationName'

for example: payment:
'src/payment/razorPay'
for example email:
'src/email/sendgrid'

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.