GithubHelp home page GithubHelp logo

danielaraldi / clean-node-api Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 0.0 4.47 MB

API of surveys in NodeJs using Typescript, TDD, Clean Architecture, Design Patterns and SOLID principles. @rmanguinho 👨‍💻

Home Page: https://ds-clean-node-api.onrender.com/api/docs/

License: MIT License

JavaScript 0.73% TypeScript 99.21% Shell 0.06%
bcrypt clean-architecture clean-code coveralls ddd-architecture docker eslint expressjs git-commit-message-linter heroku husky jest jsonwebtoken mongodb nodejs nodemon npm swagger typescript validatorjs

clean-node-api's Introduction

Hello World! I'm Daniel Sansão Araldi 👋

Welcome to my GitHub profile! I'm a Web and Mobile Front-end Developer, but I also have knowledge and experience with Back-end development. Here's a bit about me:

✨ About me

I'm a Systems Development Technician by SENAI and currently studying Computer Science at Univali. I have been inside development studying for 6 years, and I have 3 years with a professional developer as a front-end and back-end.

I have already participated in ERP systems for signing electronic invoices and administration using Node.js, Express.js, and Java Spring Boot. Also, I have experience with administrator panels around deliveries, management, and schools using technologies React and Next.js.

Finally, I have significant experience with mobile app development done in React Native focused on areas of fintech, catalogs, inventory control, and others. I highlight my knowledge of building native modules for Android (Java) and iOS (Swift and Objective-C/C++) and creating libraries for React Native for publishing in NPM.

Currently, I am working on the LEMA project at Univali, an oceanography project to link three services to manage geospatial data around the world.

All this experience helped me build a good base development and understand the needs and client's wishes. These technical features made me a developer very careful with the app details that I've developed and still develop. If you want to know more about me, you can call me on LinkedIn. Thank you, see you soon 😄.

🚀 Skills Technologies

💻 Front-end

Front-end Skills

🛠️ Back-end

Back-end Skills

🔭 Other Skills

Others Skills

:octocat: My Stats

Daniel Sansão Araldi's GitHub Stats Daniel Sansão Araldi's Wakatime Stats

clean-node-api's People

Contributors

danielaraldi avatar dependabot[bot] avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

clean-node-api's Issues

Add type null to data layer and infra layer

Add type null to data layer and infra layer 👨‍🔧

Currently the API does not return null for data layer and infra type types. You should make a change in some API types and then check if everything is working correctly.

Obs..: This modification is being requested only to improve the development of the API.

Add Validation

Add Validation for Creating a Survey 👮

Currently it is possible to create a survey with only one answer, something that does not make much sense. In this case, a survey must have two or more answers, therefore, it becomes necessary to add this validation in the survey creation endpoint.

Validate Multiple Values on Object and Missing Validation in Controller.

Validate Multiple Values on Object

Currently the API does not support the validation of multiple values ​​within an object. Its validation method only validates by object key, but not by multiple values, that is, objects within array objects. It is necessary to find some solution to this problem.

Create Web dashboard to access documentation

Create Web dashboard to access documentation

We currently only have the requirements folder that briefly explains the API endpoints. It would be very nice and professional to create a web panel that contains all the API documentation.

Store possible API errors thrown by middlewares

Store possible API errors thrown by middlewares ⛔

Currently, the API stores errors thrown by controllers and stores them in the database so they are easier to find. However, the same does not happen with the errors thrown by the API Middlawares. It would be nice to add this functionality for us to help discover new bugs.

Add Refresh Token

Refresh Token

Currently, the API does not have an endpoint to update the user's token, that is, a refresh token. This should be added with the best user experience in mind. I emphasize that documentation must be written for this new API flow.

Necessary to Configure GraphQL in Production!

Problems accessing the /graphql route

After we released the latest version (3.0.0) to production, we identified a missing configuration unique to the production environment. The good thing is, we've already figured out how to fix it, and we're going to work on it from now on!

Endpoint for Editing User Data

Currently, there are no endpoints for editing user data, it would be good to add this endpoint to the API, as it is a user need.

Server Change!!!

Server problems

We currently use heroku to maintain our application in the cloud. However, a new update to the heroku rules was released recently. Unfortunately, now we cannot send the application to the cloud and we are forced to migrate from platform. For now, we're considering moving to Google Cloud or AWS. We are open to options, if anyone wants to suggest something good and reliable, we are at your disposal!

Fix malfunctions and update development dependencies

Issues with development dependencies!

Some development dependencies are not working, like husky and lint-staged, would be good to check that! It is good to remember that it is necessary to update some eslint settings and plugins that the application has, as they are very outdated.

Add GitHub Actions

Add GitHub Actions

A while ago we had CI/CD integration with Travis CI to run the application tests and make sure everything was ok. But, there was a change in the management of Travis CI himself, which forced us to pay for the service. This made us give up using it and now we will opt for GitHub Actions. If you have any suggestions or want to help, we're open for conversations here.

Update GraphQL Route & Documentation

Update Documentation 📖

It would be nice to perform an update to the API documentation. Well, it is in the Swagger pattern, it would be cool to customize it, it would be more pleasant for those who will consume it.

GraphQL Route 🚏

The default start of route paths is /api/<path>, but the GraphQL route is not like that. Patronization affines we will add this pattern for her as well.

Add id to identify each answers a survey answer

Add id to identify each answers a survey answer

Currently when surveys are created, their responses do not have a unique identifier (id). This is a problem, because when we are going to answer these surveys, we have to send the string that corresponds to the answer of this survey to the API, that is, the answer is the identifier in this case. This is wrong as it is vulnerable to failure. We need a solution that will revolve around creating survey controllers and adding response.

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.