{"id":15132543,"url":"https://github.com/brendon45/alx-files_manager","last_synced_at":"2026-01-19T11:32:36.183Z","repository":{"id":255500627,"uuid":"851076374","full_name":"Brendon45/alx-files_manager","owner":"Brendon45","description":" A summary of this back-end trimester: authentication, NodeJS, MongoDB, Redis, pagination and background processing.","archived":false,"fork":false,"pushed_at":"2024-09-04T21:47:49.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-12T02:09:35.627Z","etag":null,"topics":["backend","es6","express","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/Brendon45.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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-02T11:33:26.000Z","updated_at":"2024-09-06T10:59:51.000Z","dependencies_parsed_at":"2024-09-05T20:42:34.915Z","dependency_job_id":"475c5e79-2494-467c-ad69-5ac55cf83fc0","html_url":"https://github.com/Brendon45/alx-files_manager","commit_stats":null,"previous_names":["brendon45/alx-files_manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brendon45%2Falx-files_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brendon45%2Falx-files_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brendon45%2Falx-files_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brendon45%2Falx-files_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Brendon45","download_url":"https://codeload.github.com/Brendon45/alx-files_manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247406078,"owners_count":20933803,"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":["backend","es6","express","javascript","kue","mongodb","nodejs","nosql","redis"],"created_at":"2024-09-26T04:20:40.985Z","updated_at":"2026-01-19T11:32:36.170Z","avatar_url":"https://github.com/Brendon45.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 0x04. Files manager\n\nThis project is a summary of this back-end trimester: authentication, NodeJS, MongoDB, Redis, pagination and background processing.\n\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\nYou will be guided step by step for building it, but you have some freedoms of implementation, split in more files etc… (`utils` folder will be your friend)\n\nOf course, this kind of service already exists in the real life - it’s a learning purpose to assemble each piece and build a full product.\n\nEnjoy!\n\n# Resources\n\n__Read or watch:__\n\n- [Node JS getting started](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs)\n- [Process API doc](https://node.readthedocs.io/en/latest/api/process/)\n- [Express getting started](https://expressjs.com/en/starter/installing.html)\n- [Mocha documentation](https://mochajs.org/)\n- [Nodemon documentation](https://github.com/remy/nodemon#nodemon)\n- [MongoDB](https://github.com/mongodb/node-mongodb-native)\n- [Bull](https://github.com/OptimalBits/bull)\n- [Image thumbnail](https://www.npmjs.com/package/image-thumbnail)\n- [Mime-Types](https://www.npmjs.com/package/mime-types)\n- [Redis](https://github.com/redis/node-redis)\n\n## Learning Objectives\n\nAt the end of this project, you are expected to be able to [explain to anyone](https://fs.blog/feynman-learning-technique/), without the help of Google:\n\n- how to create an API with Express\n- how to authenticate a user\n- how to store data in MongoDB\n- how to store temporary data in Redis\n- how to setup and use a background worker\n\n## Requirements\n\n- Allowed editors: vi, vim, emacs, Visual Studio Code\n- All your files will be interpreted/compiled on Ubuntu 18.04 LTS using node (version 12.x.x)\n- All your files should end with a new line\n- A README.md file, at the root of the folder of the project, is mandatory\n- Your code should use the js extension\n- Your code will be verified against lint using ESLint\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrendon45%2Falx-files_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrendon45%2Falx-files_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrendon45%2Falx-files_manager/lists"}