{"id":28974857,"url":"https://github.com/plcoster/fcc_backend_project5","last_synced_at":"2026-04-22T23:35:45.543Z","repository":{"id":299016089,"uuid":"530419338","full_name":"PLCoster/fcc_backend_project5","owner":"PLCoster","description":"FreeCodeCamp Backend Project 5: File Metadata Microservice","archived":false,"fork":false,"pushed_at":"2022-08-29T22:52:10.000Z","size":112,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-14T06:32:57.736Z","etag":null,"topics":["express","multer"],"latest_commit_sha":null,"homepage":"https://fcc-backend-project4.plcoster.repl.co/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PLCoster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2022-08-29T22:50:17.000Z","updated_at":"2024-08-04T22:11:48.000Z","dependencies_parsed_at":"2025-06-14T06:33:00.755Z","dependency_job_id":"4b59a3ab-3136-4893-84bd-e8befe50baf7","html_url":"https://github.com/PLCoster/fcc_backend_project5","commit_stats":null,"previous_names":["plcoster/fcc_backend_project5"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PLCoster/fcc_backend_project5","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PLCoster","download_url":"https://codeload.github.com/PLCoster/fcc_backend_project5/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project5/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261669008,"owners_count":23192362,"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":["express","multer"],"created_at":"2025-06-24T12:07:09.756Z","updated_at":"2026-04-22T23:35:40.517Z","avatar_url":"https://github.com/PLCoster.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Free Code Camp: Backend Project 5 - File Metadata Microservice\n\n## File Metadata Microservice\n\nThe aim of this project was to build a small web app with functionality similar to: https://file-metadata-microservice.freecodecamp.rocks\n\n- **HTML**\n- **JavaScript** with **[Node.js](https://nodejs.org/en/) / [NPM](https://www.npmjs.com/)** for package management.\n- **[Express](https://expressjs.com/)** web framework to build the web API.\n- **[multer](https://www.npmjs.com/package/multer)** to handle `multipart/form-data` file uploads.\n- **[Bootstrap](https://getbootstrap.com/)** for styling with some custom **CSS**.\n- **[FontAwesome](https://fontawesome.com/)** for icons.\n- **[nodemon](https://nodemon.io/)** for automatic restarting of server during development.\n\n### Project Requirements:\n\n- **User Story #1:** You can submit a form that includes a file upload.\n\n- **User Story #2:** The form file input field has the `name` attribute set to `upfile`.\n\n- **User Story #3:** When you submit a file, you receive the file `name`, `type`, and `size` in bytes within the JSON response.\n\n### Project Writeup:\n\nThe fifth Free Code Camp: Back End Development Project is a File Metadata Microservice. Users can:\n\n- Get file metadata by uploading a file via the form on the app home page, or by sending a POST request to `/api/fileanalyse` with a body containing `multipart/form-data` with a field named `upfile` containing the file.\n\n### Project Files\n\n- `index.js` - the main entry point of the application, an express web server handling the routes defined in the specification.\n\n- `public/` - contains static files for the web app (stylesheet, logo, favicons etc), served by express using `express.static()`.\n\n- `views/` - contains the single html page for the web app, `index.html`, which is served by express on `GET` requests to `/`.\n\n### Usage:\n\nRequires Node.js / NPM in order to install required packages. After downloading the repo, install required dependencies with:\n\n`npm install`\n\nA development mode (with auto server restart on file save), can be started with:\n\n`npm run dev`\n\nThe application can then be viewed at `http://localhost:3000/` in the browser.\n\nTo start the server without auto-restart on file save:\n\n`npm start`\n\n# File Metadata Microservice BoilerPlate\n\nThe initial boilerplate for this app can be found at https://github.com/freeCodeCamp/boilerplate-project-filemetadata/\n\nInstructions for building the project can be found at https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/file-metadata-microservice\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplcoster%2Ffcc_backend_project5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplcoster%2Ffcc_backend_project5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplcoster%2Ffcc_backend_project5/lists"}