{"id":22492285,"url":"https://github.com/sandeepguptax2003/3d-printing-materials","last_synced_at":"2026-05-07T01:37:32.880Z","repository":{"id":246039408,"uuid":"819507982","full_name":"sandeepguptax2003/3D-Printing-Materials","owner":"sandeepguptax2003","description":"This project implements a robust backend API for managing 3D printing materials. The API facilitates CRUD operations for 3D printing materials, including image uploads and retrievals.","archived":false,"fork":false,"pushed_at":"2024-06-27T06:14:52.000Z","size":56,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-22T05:02:55.166Z","etag":null,"topics":["experessjs","firebasestorage","mongodb","multer","nodejs"],"latest_commit_sha":null,"homepage":"https://threed-printing-materials.onrender.com/","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/sandeepguptax2003.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-06-24T16:37:26.000Z","updated_at":"2024-09-05T05:04:29.000Z","dependencies_parsed_at":"2024-06-25T14:18:59.875Z","dependency_job_id":"5f1eb7a1-eea3-4661-a5a5-a0ebb9ece231","html_url":"https://github.com/sandeepguptax2003/3D-Printing-Materials","commit_stats":null,"previous_names":["sandeepguptax2003/3d-printing-materials"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sandeepguptax2003/3D-Printing-Materials","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepguptax2003%2F3D-Printing-Materials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepguptax2003%2F3D-Printing-Materials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepguptax2003%2F3D-Printing-Materials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepguptax2003%2F3D-Printing-Materials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandeepguptax2003","download_url":"https://codeload.github.com/sandeepguptax2003/3D-Printing-Materials/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandeepguptax2003%2F3D-Printing-Materials/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32719573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T00:29:05.620Z","status":"ssl_error","status_checked_at":"2026-05-07T00:28:57.074Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["experessjs","firebasestorage","mongodb","multer","nodejs"],"created_at":"2024-12-06T18:16:57.867Z","updated_at":"2026-05-07T01:37:32.846Z","avatar_url":"https://github.com/sandeepguptax2003.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 3D Printing Materials API\n\n## Table of Contents\n- [Introduction](#introduction)\n- [Project Overview](#project-overview)\n- [Features](#features)\n- [Technologies Used](#technologies-used)\n- [API Endpoints](#api-endpoints)\n- [Installation](#installation)\n- [Contributing](#contributing)\n- [Contact](#contact)\n\n## Introduction\n\nThis project implements a robust backend API for managing 3D printing materials. The API facilitates CRUD operations for 3D printing materials, including image uploads and retrievals.\n\n## Project Overview\n\nThe project utilizes MongoDB for data storage and Firebase Storage for handling image uploads. The goal is to create a scalable and efficient backend system that supports the core functionalities of managing 3D printing materials data.\n\n### Project Presentation Video\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://drive.google.com/file/d/10J8BfgND6XBuDjJSdj_hltdXKc0L3_Uy/preview\"\u003e\n    \u003cimg src=\"https://img.youtube.com/vi/VIDEO_ID_HERE/0.jpg\" alt=\"Project Presentation Video\" style=\"width: 80%; max-width: 600px;\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Features\n\nThe implemented features include:\n- Material Management (CRUD operations)\n- Image Upload and Storage\n- Filtering and Retrieval of Materials\n- Secure Image Handling\n- Error Handling\n\n## Technologies Used\n\n- Node.js\n- Express.js\n- MongoDB with Mongoose\n- Firebase Storage for Image Handling\n- Multer for File Upload Handling\n\n## API Endpoints\n\n- **GET /materials**: Fetch all materials from the database.\n- **GET /materials/:id**: Retrieve a specific material by its ID, including its associated image.\n- **POST /materials**: Add a new material to the database, including an image upload.\n- [ Example fields for post method : name:FDA / technology:FDM / colors:Red, Black / pricePerGram:0.4 / applicationTypes:Educational / image:upload image from local system\n- **PUT /materials/:id**: Update an existing material's details, optionally updating its associated image.\n- **DELETE /materials/:id**: Remove a material from the database by its ID.\n\nFor detailed API usage, refer to the Models and Routes in the codebase.\n\n## Installation\n\nTo get the 3D Printing Materials API up and running on your local machine, follow these steps:\n\n1. **Clone the repository**: `git clone [Your Repository URL]`\n2. **Install dependencies**: Navigate to the project directory and install the required dependencies using npm.\n3. **Set up environment variables**: Create a `.env` file in the root directory of the project. Add the following environment variables to it:PORT=3000 MONGODB_URI=your_mongodb_uri FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket\n\n   Replace `your_mongodb_uri` and `your_firebase_storage_bucket` with your actual MongoDB connection string and Firebase storage bucket URL.\n4. **Set up Firebase**:\n   - Create a Firebase project and download the service account key JSON file.\n   - Place this file in your project directory (ensure it's not in a public folder).\n   - Update the path to this file in your `firebaseConfig.js`.\n5. **Start the server**: With all dependencies installed and environment variables set, you can start the server by running:Nodemon Server.js\n\n## Contributing\n\nWe welcome contributions to improve our project To contribute, please follow these guidelines:\n1. Fork the repository and clone it to your local machine.\n2. Install dependencies using `npm install`.\n3. Set up the development environment as described in the Installation section.\n4. Follow our coding standards.\n5. Make your changes and test them thoroughly.\n6. Submit a pull request with a detailed description of your changes.\n\n## Contact\n\nFor any queries or suggestions, please feel free to contact [Your Name/Email/Contact Information].\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandeepguptax2003%2F3d-printing-materials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandeepguptax2003%2F3d-printing-materials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandeepguptax2003%2F3d-printing-materials/lists"}