{"id":15154422,"url":"https://github.com/ngugimuchangi/alx-files_manager","last_synced_at":"2026-02-12T06:07:33.712Z","repository":{"id":150808025,"uuid":"621769686","full_name":"ngugimuchangi/alx-files_manager","owner":"ngugimuchangi","description":"REST API for managing and sharing files","archived":false,"fork":false,"pushed_at":"2023-09-27T12:29:38.000Z","size":525,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T11:47:26.387Z","etag":null,"topics":["api","bullmq","express","jobqueue","mongo-db"],"latest_commit_sha":null,"homepage":"https://ngugimuchangi.me/alx-files_manager/","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/ngugimuchangi.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":"2023-03-31T10:51:50.000Z","updated_at":"2023-08-06T11:02:37.000Z","dependencies_parsed_at":"2024-11-02T20:02:22.071Z","dependency_job_id":"2e3ae945-e234-4ed8-81d1-dc151309026a","html_url":"https://github.com/ngugimuchangi/alx-files_manager","commit_stats":{"total_commits":168,"total_committers":2,"mean_commits":84.0,"dds":0.0357142857142857,"last_synced_commit":"28dca3c8fb2f3aac164cabe2442b831c99227f14"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ngugimuchangi/alx-files_manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngugimuchangi%2Falx-files_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngugimuchangi%2Falx-files_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngugimuchangi%2Falx-files_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngugimuchangi%2Falx-files_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngugimuchangi","download_url":"https://codeload.github.com/ngugimuchangi/alx-files_manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngugimuchangi%2Falx-files_manager/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264545167,"owners_count":23625404,"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":["api","bullmq","express","jobqueue","mongo-db"],"created_at":"2024-09-26T17:23:22.555Z","updated_at":"2026-02-12T06:07:28.693Z","avatar_url":"https://github.com/ngugimuchangi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 0x04. Files manager\n\n![Statements](https://img.shields.io/badge/statements-90.69%25-brightgreen.svg?style=flat)\n![Branches](https://img.shields.io/badge/branches-81.76%25-yellow.svg?style=flat)\n![Functions](https://img.shields.io/badge/functions-88.52%25-yellow.svg?style=flat)\n![Lines](https://img.shields.io/badge/lines-90.99%25-brightgreen.svg?style=flat)\n\nSimple file management API that allows users to:\n\n- Upload files\n- Retrieve information about the files\n- Download the files\n- Share uploaded files with other users\n\n## How to Run\n\nClone the repo\n\n```\ngit clone https://github.com/ngugimuchangi/alx-files_manager.git\n```\n\nInstall required dependencies\n\n```\ncd alx-files_manager\nnpm install\n```\n\nStart worker\n\n```\nnpm run start-worker\n```\n\nStart express server\n\n```\nnpm run start-server\n```\n\n## Environment\n\nEnvironment variables you can adjust when running the express server\n\n- `PORT`: express server's port\n- `DB_HOST`: mongodb's server host address\n- `DB_PORT`: mongodb's port\n- `DB_DATABASE`: database to use\n- `FOLDER_PATH`: absolute path to folder to store files\n\n## Documentation\n\nThe API's documentation is available at\n[here](https://ngugimuchangi.me/alx-files_manager/)\n\n## Tests\n\nSpecify different `DB_DATABASE` and `FOLDER_PATH` environment when running test\nto avoid data loss in main database and folder. Check out [test](tests/) folder\nfor unit tests.\n\n- Run specific test\n\n```\nDB_DATABASE='test_database' FOLDER_PATH='/tmp/test_folder' npm test tests/testFile.js\n```\n\n- Run all tests\n\n```\nDB_DATABASE='test_database' FOLDER_PATH='/tmp/test_folder' npm run test-all\n```\n\n## Authors\n\n- [Duncan Ngugi](https://github.com/ngugimuchangi)\n- [Samule Ekati](https://github.com/Samuthe)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngugimuchangi%2Falx-files_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngugimuchangi%2Falx-files_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngugimuchangi%2Falx-files_manager/lists"}