{"id":13317109,"url":"https://github.com/marcusvieira88/nodejs-backend","last_synced_at":"2025-03-11T00:33:27.764Z","repository":{"id":35374542,"uuid":"144967716","full_name":"marcusvieira88/nodejs-backend","owner":"marcusvieira88","description":"Backend NodeJs Project ","archived":false,"fork":false,"pushed_at":"2022-12-22T08:33:56.000Z","size":10778,"stargazers_count":0,"open_issues_count":10,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2023-03-03T02:07:10.616Z","etag":null,"topics":["expressjs","mocha","mongoose","nodejs","redis","socket-io"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcusvieira88.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-16T09:38:42.000Z","updated_at":"2019-02-24T09:50:47.000Z","dependencies_parsed_at":"2023-01-15T19:35:08.341Z","dependency_job_id":null,"html_url":"https://github.com/marcusvieira88/nodejs-backend","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusvieira88%2Fnodejs-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusvieira88%2Fnodejs-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusvieira88%2Fnodejs-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusvieira88%2Fnodejs-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcusvieira88","download_url":"https://codeload.github.com/marcusvieira88/nodejs-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221201803,"owners_count":16775415,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","mocha","mongoose","nodejs","redis","socket-io"],"created_at":"2024-07-29T18:24:33.497Z","updated_at":"2024-10-23T13:30:52.056Z","avatar_url":"https://github.com/marcusvieira88.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\n\nThis app was built to pratice the nodejs environment.\n\n[![Inline docs](http://inch-ci.org/github/marcusvieira88/nodejs-backend.svg?branch=master)](http://inch-ci.org/github/marcusvieira88/nodejs-backend)\n\n## Frameworks\n\nThe frameworks used are:\n\n* [async-redis](https://github.com/moaxaca/async-redis) - Promises in the redis access\n* [babel-cli](https://www.npmjs.com/package/babel-cli) - Compiler\n* [babel-core](https://github.com/babel/babel/tree/master/packages/babel-core) - Compiler\n* [babel-preset-es2015](https://www.npmjs.com/package/babel-preset-es2015) - Compiler\n* [bcrypt](https://github.com/kelektiv/node.bcrypt.js) - Hash passwords\n* [bluebird](https://github.com/petkaantonov/bluebird) - Promises in the mongoose\n* [body-parser](https://github.com/expressjs/body-parser) - Parse request Bodies\n* [cors](https://github.com/expressjs/cors) - Enable CORS\n* [dotenv](https://github.com/motdotla/dotenv) - Loads environment variables\n* [express](https://github.com/expressjs/express) - Web framework\n* [express-jwt](https://github.com/auth0/express-jwt) - Request token authentication\n* [express-mung](https://github.com/richardschneider/express-mung) - Response transformer\n* [express-validator](https://github.com/express-validator/express-validator) - Request validator \n* [faker](https://github.com/Marak/Faker.js) - Generate fake date\n* [@meanie/mongoose-to-json](https://github.com/meanie/mongoose-to-json) - Format model object to json\n* [moment](https://www.npmjs.com/package/momentl) - Date library\n* [mongoose](https://github.com/Automattic/mongoose) - MongoDB modeling and access\n* [redis](https://github.com/NodeRedis/node_redis) - Redis access\n* [request-ip](https://www.npmjs.com/package/request-ip) - Get IP address\n* [socket.io](https://github.com/socketio/socket.io) - Real time notifications\n* [socketio-jwt](https://github.com/auth0-community/socketio-jwt) - Authenticate real time notifications\n* [winston](https://github.com/winstonjs/winston) - Logger\n* [winston-daily-rotate-file](https://github.com/winstonjs/winston-daily-rotate-file) - Logs rotate file\n\nFor tests:\n\n* [chai](https://github.com/chaijs/chai) - Test assertion\n* [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) - Token authentication\n* [mocha](https://github.com/mochajs/mocha) - Test runner\n* [supertest](https://github.com/visionmedia/supertest) - Test request\n\nThis app works with MongoDB and Redis, this is the information for [MongoDB installation](https://docs.mongodb.com/manual/installation/) and [Redis installation](https://redis.io/topics/quickstart).\n\n## Install\n\n```\nnpm install\n```\n\n## Start\n\n```\nnpm start\n```\n\n## Tests\n\n```\nnpm test\n```\n\n## Api\n\n| Method | Resource \t\t                 | Description                             |\n|--------|-----------------------------------|-----------------------------------------|\n| POST** | /authenticate/                    | create a new token \t                   | \n| POST** | /clients/registration/            | create a new client\t                   | \n| GET\t | /clients/:id                      | return a client  \t                   |\n| GET\t | /clients/:id/expert/:id/questions | return a questions by client and expert |\n| PUT\t | /clients/{id}                     | update a client      \t               |\n| DELETE | /clients/{id}                     | delete a client      \t               |\n| POST\t | /question/\t                     | create a new client\t                   | \n| GET\t | /questions/:id  \t                 | return a question  \t                   |\n| PUT\t | /questions/{id}                   | update a question      \t               |\n| DELETE | /questions/{id}                   | delete a question      \t               |\n| POST\t | /question/\t                     | create a new question                   | \n| GET\t | /questions/:id  \t                 | return a question  \t                   |\n| PUT\t | /questions/{id}                   | update a question                       |\n| DELETE | /questions/{id}                   | delete a question      \t               |\n| POST** | /users/registration/              | create a new user                       | \n| GET\t | /users/:id  \t                     | return a user  \t                       |\n| GET\t | /users/:id/client/:id/questions   | return a questions by expert and client |\n| PUT\t | /users/{id}                       | update a user        \t               |\n| DELETE | /users/{id}                       | delete a user      \t                   |\n| POST\t | /answers/\t                     | create a new answer                     | \n| GET\t | /answers/:id  \t                 | return a answer \t                       |\n| PUT\t | /answers/{id}                     | update a answer     \t                   |\n| DELETE | /answers/{id}                     | delete a answer      \t               |\n\n**Routes without JWT authentication \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusvieira88%2Fnodejs-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcusvieira88%2Fnodejs-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusvieira88%2Fnodejs-backend/lists"}