{"id":23096707,"url":"https://github.com/anuva312/imageuploader-devchallenges","last_synced_at":"2025-04-03T20:14:48.694Z","repository":{"id":159935070,"uuid":"548474428","full_name":"anuva312/ImageUploader-devChallenges","owner":"anuva312","description":"Created as a part of the Full Stack Developer Challenges in devChallenges.io","archived":false,"fork":false,"pushed_at":"2023-12-21T13:28:48.000Z","size":893,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T08:19:13.519Z","etag":null,"topics":["css","devchallengesio","drag-and-drop","express","fullstack","fullstack-javascript","javascript","nodejs","react","reactjs"],"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/anuva312.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":"2022-10-09T16:40:35.000Z","updated_at":"2025-01-26T06:58:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"e6ee0624-61f3-4d3f-9254-e9ee1f14c44f","html_url":"https://github.com/anuva312/ImageUploader-devChallenges","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuva312%2FImageUploader-devChallenges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuva312%2FImageUploader-devChallenges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuva312%2FImageUploader-devChallenges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anuva312%2FImageUploader-devChallenges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anuva312","download_url":"https://codeload.github.com/anuva312/ImageUploader-devChallenges/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247070928,"owners_count":20878586,"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":["css","devchallengesio","drag-and-drop","express","fullstack","fullstack-javascript","javascript","nodejs","react","reactjs"],"created_at":"2024-12-16T22:47:55.493Z","updated_at":"2025-04-03T20:14:48.674Z","avatar_url":"https://github.com/anuva312.png","language":"JavaScript","readme":"# Image Uploader\n\nSolution to the [Image Uploader Challenge](https://legacy.devchallenges.io/challenges/O2iGT9yBd6xZBrOcVirx) from [Devchallenges.io](https://legacy.devchallenges.io/).\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n## Table of Contents\n\n- [Challenge](#challenge)\n- [Solution](#solution)\n  - [Demo](#demo)\n  - [Demo Screenshots](#demo-screenshots)\n  - [Built With](#built-with)\n- [API Documentation](#api-documentation)\n- [How to Use](#how-to-use)\n- [Acknowledgements](#acknowledgements)\n\n\u003c!-- Challenge --\u003e\n\n## Challenge\n\nChallenge: Create an Image Uploader application. Use any front-end libraries of your choice. Create your API. Don’t look at the existing solution.\n\nFulfill user stories below:\n\n- User story: I can drag and drop an image to upload it\n- User story: I can choose to select an image from my folder\n- User story: I can see a loader when uploading\n- User story: When the image is uploaded, I can see the image and copy it\n- User story: I can choose to copy to the clipboard\n\n## Solution\n\n### Demo\n\nFind the website in action [here](https://master--exquisite-heliotrope-34a798.netlify.app/)!\n\n### Demo Screenshots\n\n_*Home Page*_\n\n![home-page](screenshots/home-page.PNG)\n\n_*File is being uploaded*_\n\n![uploading image](screenshots/uploading-loader.PNG)\n\n_*Image Uploaded Successfully*_\n\n![image-upload-success](screenshots/upload-successful.PNG)\n\n### Built With\n\n\u003c!-- This section should list any major frameworks that you built your project using. Here are a few examples.--\u003e\n\n- [Node JS](https://nodejs.org/en/)\n- [React](https://reactjs.org/)\n- [Mongoose](https://mongoosejs.com/)\n\n## API Documentation\n\nFind the API Documentation in detail in the wiki [here](https://github.com/anuva312/ImageUploader-devChallenges/wiki).\n\n### Domain URL\n\n    https://anuva-image-uploader.onrender.com\n\n_**Note** : Since I am using a free plan, the server goes to sleep after 15 min of inactivity and there will be a 30 sec delay for the server to wake up after it receives the first request. So if you don't get any response in the first try, please try again._\n\n### Available APIs\n\n| API                                                                                                         | Method | Endpoint            |\n| ----------------------------------------------------------------------------------------------------------- | ------ | ------------------- |\n| [Get All Images](https://github.com/anuva312/ImageUploader-devChallenges/wiki/Get-All-Images)               | GET    | /api/v1/images      |\n| [Get An Image By Id](https://github.com/anuva312/ImageUploader-devChallenges/wiki/Get-An-Image-By-Id)       | GET    | /api/v1/images/{id} |\n| [Get A Static File](https://github.com/anuva312/ImageUploader-devChallenges/wiki/Get-A-Static-File)         | GET    | /{path to file}     |\n| [Upload An Image](https://github.com/anuva312/ImageUploader-devChallenges/wiki/Upload-An-Image)             | POST   | /api/v1/images      |\n| [Delete All Images](https://github.com/anuva312/ImageUploader-devChallenges/wiki/Delete-All-Images)         | DELETE | /api/v1/images      |\n| [Delete An Image By Id](https://github.com/anuva312/ImageUploader-devChallenges/wiki/Delete-An-Image-By-Id) | DELETE | /api/v1/images/{id} |\n\n## How To Use\n\n\u003c!-- For example: --\u003e\n\nTo clone and run this application, you'll need [Git](https://git-scm.com) and [npm](https://www.npmjs.com/). From your command line:\n\n```bash\n# Clone this repository\n$ git clone \"https://github.com/anuva312/ImageUploader-devChallenges\"\n\n# Install dependencies\n$ npm install\n\n# Run the app\n$ npm run start\n```\n\n## Acknowledgements\n\n- [Node.js, Express, MongoDB \u0026 More: The Complete Bootcamp 2022](https://www.udemy.com/course/nodejs-express-mongodb-bootcamp/)\n- [How to Upload Images in Your Node.js App?](https://javascript.plainenglish.io/upload-images-in-your-node-app-e05d0423fd4a)\n- [How to connect Node.js with React.js?](https://www.geeksforgeeks.org/how-to-connect-node-js-with-react-js/)\n- [How to Implement the Drag-and-Drop of Files in React](https://betterprogramming.pub/how-to-implement-files-drag-and-drop-in-react-22cf42b7a7ef)\n- [Documentation for file input](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file)\n- [How to create a Loader](https://www.w3schools.com/howto/howto_css_loader.asp)\n- [Line Loading Animation](https://codepen.io/ziafatali/pen/mxVwpq)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanuva312%2Fimageuploader-devchallenges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanuva312%2Fimageuploader-devchallenges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanuva312%2Fimageuploader-devchallenges/lists"}