{"id":19741553,"url":"https://github.com/iadamo/alx-files_manager","last_synced_at":"2026-04-02T04:45:26.101Z","repository":{"id":239068555,"uuid":"798383324","full_name":"iAdamo/alx-files_manager","owner":"iAdamo","description":"A simple platform to upload and view files","archived":false,"fork":false,"pushed_at":"2024-05-15T12:09:30.000Z","size":201,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T20:15:30.913Z","etag":null,"topics":["back-end","es6","expressjs","javascript","kue","mongodb","nodejs","nosql","redis"],"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/iAdamo.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-09T17:04:33.000Z","updated_at":"2024-05-15T11:32:43.000Z","dependencies_parsed_at":"2024-11-12T01:40:58.101Z","dependency_job_id":null,"html_url":"https://github.com/iAdamo/alx-files_manager","commit_stats":null,"previous_names":["iadamo/alx-files_manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iAdamo%2Falx-files_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iAdamo%2Falx-files_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iAdamo%2Falx-files_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iAdamo%2Falx-files_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iAdamo","download_url":"https://codeload.github.com/iAdamo/alx-files_manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241072358,"owners_count":19904746,"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":["back-end","es6","expressjs","javascript","kue","mongodb","nodejs","nosql","redis"],"created_at":"2024-11-12T01:26:58.239Z","updated_at":"2025-12-30T19:37:52.283Z","avatar_url":"https://github.com/iAdamo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Files manager\n**`Back-end`** **`JavaScript`** **`ES6`** **`NoSQL`** **`MongoDB`** **`Redis`** **`NodeJS`** **`ExpressJS`** **`Kue`**\n\n### Project description\nThis project is a summary of this back-end trimester: authentication, NodeJS, MongoDB, Redis, pagination and background processing.\n\n### Concepts\nThe objective is to build a simple platform to upload and view files:\n\n- User authentication via a token\n- List all files\n- Upload a new file\n- Change permission of a file\n- View a file\n- Generate thumbnails for images\n\n### Provided files\n**package.json**\n```\n{\n  \"name\": \"files_manager\",\n  \"version\": \"1.0.0\",\n  \"description\": \"\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"lint\": \"./node_modules/.bin/eslint\",\n    \"check-lint\": \"lint [0-9]*.js\",\n    \"start-server\": \"nodemon --exec babel-node --presets @babel/preset-env ./server.js\",\n    \"start-worker\": \"nodemon --exec babel-node --presets @babel/preset-env ./worker.js\",\n    \"dev\": \"nodemon --exec babel-node --presets @babel/preset-env\",\n    \"test\": \"./node_modules/.bin/mocha --require @babel/register --exit\" \n  },\n  \"author\": \"\",\n  \"license\": \"ISC\",\n  \"dependencies\": {\n    \"bull\": \"^3.16.0\",\n    \"chai-http\": \"^4.3.0\",\n    \"express\": \"^4.17.1\",\n    \"image-thumbnail\": \"^1.0.10\",\n    \"mime-types\": \"^2.1.27\",\n    \"mongodb\": \"^3.5.9\",\n    \"redis\": \"^2.8.0\",\n    \"sha1\": \"^1.1.1\",\n    \"uuid\": \"^8.2.0\"\n  },\n  \"devDependencies\": {\n    \"@babel/cli\": \"^7.8.0\",\n    \"@babel/core\": \"^7.8.0\",\n    \"@babel/node\": \"^7.8.0\",\n    \"@babel/preset-env\": \"^7.8.2\",\n    \"@babel/register\": \"^7.8.0\",\n    \"chai\": \"^4.2.0\",\n    \"chai-http\": \"^4.3.0\",\n    \"mocha\": \"^6.2.2\",\n    \"nodemon\": \"^2.0.2\",\n    \"eslint\": \"^6.4.0\",\n    \"eslint-config-airbnb-base\": \"^14.0.0\",\n    \"eslint-plugin-import\": \"^2.18.2\",\n    \"eslint-plugin-jest\": \"^22.17.0\",\n    \"request\": \"^2.88.0\",\n    \"sinon\": \"^7.5.0\"\n  }\n}\n```\n\n**.eslintrc.js**\n```\nmodule.exports = {\n    env: {\n      browser: false,\n      es6: true,\n      jest: true,\n    },\n    extends: [\n      'airbnb-base',\n      'plugin:jest/all',\n    ],\n    globals: {\n      Atomics: 'readonly',\n      SharedArrayBuffer: 'readonly',\n    },\n    parserOptions: {\n      ecmaVersion: 2018,\n      sourceType: 'module',\n    },\n    plugins: ['jest'],\n    rules: {\n      'max-classes-per-file': 'off',\n      'no-underscore-dangle': 'off',\n      'no-console': 'off',\n      'no-shadow': 'off',\n      'no-restricted-syntax': [\n        'error',\n        'LabeledStatement',\n        'WithStatement',\n      ],\n    },\n    overrides:[\n      {\n        files: ['*.js'],\n        excludedFiles: 'babel.config.js',\n      }\n    ]\n};\n```\n\n**babel.config.js**\n```\nmodule.exports = {\n    presets: [\n      [\n        '@babel/preset-env',\n        {\n          targets: {\n            node: 'current',\n          },\n        },\n      ],\n    ],\n};\n```\nand…\nDon’t forget to run $ npm install when you have the `package.json`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiadamo%2Falx-files_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiadamo%2Falx-files_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiadamo%2Falx-files_manager/lists"}