├── .gitignore ├── README.md └── notes-app-back-end ├── .eslintrc.json ├── migrations ├── 1622365025834_create-table-notes.js ├── 1622366149743_create-table-users.js ├── 1622441666226_create-table-authentications.js ├── 1622445876604_add-column-owner-to-table-notes.js ├── 1622447581095_add-foreign-key-to-owner-column.js └── 1622450160306_create-collaborations-table.js ├── package.json ├── postman ├── Notes API Test.postman_collection.json └── Notes API Test.postman_environment.json └── src ├── api ├── authentications │ ├── handler.js │ ├── index.js │ └── routes.js ├── collaborations │ ├── handler.js │ ├── index.js │ └── routes.js ├── exports │ ├── handler.js │ ├── index.js │ └── routes.js ├── notes │ ├── handler.js │ ├── index.js │ └── routes.js ├── uploads │ ├── handler.js │ ├── index.js │ └── routes.js └── users │ ├── handler.js │ ├── index.js │ └── routes.js ├── exceptions ├── AuthenticationError.js ├── AuthorizationError.js ├── ClientError.js ├── InvariantError.js └── NotFoundError.js ├── server.js ├── services ├── S3 │ └── StorageService.js ├── inMemory │ └── NotesService.js ├── postgres │ ├── AuthenticationsService.js │ ├── CollaborationsService.js │ ├── NotesService.js │ └── UsersService.js ├── rabbitmq │ └── ProducerService.js ├── redis │ └── CacheService.js └── storage │ └── StorageService.js ├── tokenize └── TokenManager.js ├── utils └── index.js └── validator ├── authentications ├── index.js └── schema.js ├── collaborations ├── index.js └── schema.js ├── exports ├── index.js └── schema.js ├── notes ├── index.js └── schema.js ├── uploads ├── index.js └── schema.js └── users ├── index.js └── schema.js /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Belajar Fundamental Aplikasi Back-End 2 | -------------------------------------------------------------------------------- /notes-app-back-end/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/.eslintrc.json -------------------------------------------------------------------------------- /notes-app-back-end/migrations/1622365025834_create-table-notes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/migrations/1622365025834_create-table-notes.js -------------------------------------------------------------------------------- /notes-app-back-end/migrations/1622366149743_create-table-users.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/migrations/1622366149743_create-table-users.js -------------------------------------------------------------------------------- /notes-app-back-end/migrations/1622441666226_create-table-authentications.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/migrations/1622441666226_create-table-authentications.js -------------------------------------------------------------------------------- /notes-app-back-end/migrations/1622445876604_add-column-owner-to-table-notes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/migrations/1622445876604_add-column-owner-to-table-notes.js -------------------------------------------------------------------------------- /notes-app-back-end/migrations/1622447581095_add-foreign-key-to-owner-column.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/migrations/1622447581095_add-foreign-key-to-owner-column.js -------------------------------------------------------------------------------- /notes-app-back-end/migrations/1622450160306_create-collaborations-table.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/migrations/1622450160306_create-collaborations-table.js -------------------------------------------------------------------------------- /notes-app-back-end/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/package.json -------------------------------------------------------------------------------- /notes-app-back-end/postman/Notes API Test.postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/postman/Notes API Test.postman_collection.json -------------------------------------------------------------------------------- /notes-app-back-end/postman/Notes API Test.postman_environment.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/postman/Notes API Test.postman_environment.json -------------------------------------------------------------------------------- /notes-app-back-end/src/api/authentications/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/authentications/handler.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/authentications/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/authentications/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/authentications/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/authentications/routes.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/collaborations/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/collaborations/handler.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/collaborations/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/collaborations/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/collaborations/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/collaborations/routes.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/exports/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/exports/handler.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/exports/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/exports/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/exports/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/exports/routes.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/notes/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/notes/handler.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/notes/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/notes/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/notes/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/notes/routes.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/uploads/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/uploads/handler.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/uploads/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/uploads/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/uploads/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/uploads/routes.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/users/handler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/users/handler.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/users/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/users/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/api/users/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/api/users/routes.js -------------------------------------------------------------------------------- /notes-app-back-end/src/exceptions/AuthenticationError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/exceptions/AuthenticationError.js -------------------------------------------------------------------------------- /notes-app-back-end/src/exceptions/AuthorizationError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/exceptions/AuthorizationError.js -------------------------------------------------------------------------------- /notes-app-back-end/src/exceptions/ClientError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/exceptions/ClientError.js -------------------------------------------------------------------------------- /notes-app-back-end/src/exceptions/InvariantError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/exceptions/InvariantError.js -------------------------------------------------------------------------------- /notes-app-back-end/src/exceptions/NotFoundError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/exceptions/NotFoundError.js -------------------------------------------------------------------------------- /notes-app-back-end/src/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/server.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/S3/StorageService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/S3/StorageService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/inMemory/NotesService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/inMemory/NotesService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/postgres/AuthenticationsService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/postgres/AuthenticationsService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/postgres/CollaborationsService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/postgres/CollaborationsService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/postgres/NotesService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/postgres/NotesService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/postgres/UsersService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/postgres/UsersService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/rabbitmq/ProducerService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/rabbitmq/ProducerService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/redis/CacheService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/redis/CacheService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/services/storage/StorageService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/services/storage/StorageService.js -------------------------------------------------------------------------------- /notes-app-back-end/src/tokenize/TokenManager.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/tokenize/TokenManager.js -------------------------------------------------------------------------------- /notes-app-back-end/src/utils/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/utils/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/authentications/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/authentications/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/authentications/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/authentications/schema.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/collaborations/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/collaborations/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/collaborations/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/collaborations/schema.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/exports/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/exports/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/exports/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/exports/schema.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/notes/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/notes/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/notes/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/notes/schema.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/uploads/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/uploads/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/uploads/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/uploads/schema.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/users/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/users/index.js -------------------------------------------------------------------------------- /notes-app-back-end/src/validator/users/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dicodingacademy/a271-backend-menengah-labs/HEAD/notes-app-back-end/src/validator/users/schema.js --------------------------------------------------------------------------------