{"id":27745450,"url":"https://github.com/vikashsprem/movies-library","last_synced_at":"2026-05-07T18:35:01.264Z","repository":{"id":242240521,"uuid":"807555657","full_name":"vikashsprem/Movies-Library","owner":"vikashsprem","description":"The application features user authentication, a movie search option using the OMDB API, and allows users to create and manage movie lists. Users can make these lists public or private, with public lists accessible to anyone with the link.","archived":false,"fork":false,"pushed_at":"2024-06-25T07:54:36.000Z","size":633,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-28T19:19:25.713Z","etag":null,"topics":["api","firebase-auth","firestore","javascript","omdb-api","reactjs","tailwindcss"],"latest_commit_sha":null,"homepage":"https://movies-lib-vikash.vercel.app/","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/vikashsprem.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-05-29T10:24:25.000Z","updated_at":"2024-10-21T19:01:21.000Z","dependencies_parsed_at":"2024-06-05T08:00:06.892Z","dependency_job_id":null,"html_url":"https://github.com/vikashsprem/Movies-Library","commit_stats":null,"previous_names":["vikashsprem/movies-library"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikashsprem%2FMovies-Library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikashsprem%2FMovies-Library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikashsprem%2FMovies-Library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikashsprem%2FMovies-Library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vikashsprem","download_url":"https://codeload.github.com/vikashsprem/Movies-Library/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251372535,"owners_count":21578967,"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","firebase-auth","firestore","javascript","omdb-api","reactjs","tailwindcss"],"created_at":"2025-04-28T19:19:28.473Z","updated_at":"2026-05-07T18:34:56.241Z","avatar_url":"https://github.com/vikashsprem.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Movie Library Web Application\n\nThis project is a movie library web application built using JavaScript, React with Vite, and Tailwind CSS. It leverages Firebase for authentication and Firestore for the database. The application features user authentication, a movie search option using the OMDB API, and allows users to create and manage movie lists. Users can make these lists public or private, with public lists accessible to anyone with the link.\n\n* *Note :- Please use the Movies list share ( public/private ) functionality in with different Device/PC (for the same device use different browser) recommended. If yoiu use same device it seems like not working because of the browser cashed memory.*\n\n* Click here to see the live deployed page: [Link](https://movies-lib-vikash.vercel.app/)\n* Click here to see the source code: [GitHub Repository](https://github.com/vikashsprem/Movies-Library.git)\n\n## Prerequisites\n\nBefore you begin, ensure you have met the following requirements:\n- You have installed Node.js(v18.16.0) and npm. If not, you can download and install them from [Node.js](https://nodejs.org/).\n- You have a basic understanding of React and Tailwind CSS.\n- You should have firebase account.\n\n## Getting Started\n\nFollow these instructions to set up the project on your local machine.\n\n### 1. Clone the repository\n\nFirst, clone this repository to your local machine:\n\n```sh\ngit clone https://github.com/vikashsprem/Movies-Library.git\n```\n### 2. Navigate to the project directory\n\n```sh\ncd Movies-Library\n```\n### 3. Install dependencies\n```sh\nnpm install\n```\n### 4. Run the server\n```sh\nnpm run dev\n```\n\n## Setup Your Firebase\nBefore you run the server, ensure you have set it up your firebase authentication and database. If not follow these steps below.\n\n- Create a firebase account https://console.firebase.google.com/\n\n- Creat a project (any_name)\n\n- Setup the authentication with email and password\n\n### Now you will get the all information mention below ↓↓\n\n```sh\nVITE_FIREBASE_API_KEY=\nVITE_FIREBASE_AUTH_DOMAIN=\nVITE_FIREBASE_PROJECT_ID=\nVITE_FIREBASE_STORAGE_BUCKET=\nVITE_FIREBASE_MESSAGING_SENDER_ID=\nVITE_FIREBASE_APP_ID=\nVITE_FIREBASE_MEASUREMENT_ID=\n```\n\n### Now it's time to set the database\n- Go to the Firestore Database section\n- Go to Rules section\n- Change the rule given below ↓↓\n```sh\nrules_version = '2';\n\nservice cloud.firestore {\n  match /databases/{database}/documents {\n    // Rules for the `favorites` collection\n    match /favorites/{favoriteId} {\n      // Allow read if the user is authenticated and is querying their own documents\n      \n      allow read: if (\n        request.auth != null \u0026\u0026 resource.data.user == request.auth.uid || \n        get(/databases/$(database)/documents/userAccess/$(resource.data.user)).data.access == true\n      );\n\n      \n      // Allow write if the user is authenticated and is writing their own document\n      allow write: if request.auth != null \u0026\u0026 (request.resource.data.user == request.auth.uid || resource.data.user == request.auth.uid);\n    }\n    \n    match /userAccess/{userAccessId} {\n      // Allow read if the user is authenticated and the document belongs to the user\n  \t\tallow read: if request.auth != null \u0026\u0026 resource.data.user == request.auth.uid;\n\n      // Allow write if the user is authenticated and:\n      // - the document does not exist (to create it), or\n      // - the document exists and belongs to the authenticated user (to update it)\n      allow write: if request.auth != null \u0026\u0026 (\n        !exists(/databases/$(database)/documents/userAccess/$(userAccessId)) \u0026\u0026 request.resource.data.user == request.auth.uid ||\n        resource.data.user == request.auth.uid);\n    }\n    \n    // Additional rules for other collections or documents can be added here\n  }\n}\n```\n\n### Setup you environment configuration\n\n1. Create **.env** file in root directory\n2. Put all information here\n```sh\nVITE_FIREBASE_API_KEY=\nVITE_FIREBASE_AUTH_DOMAIN=\nVITE_FIREBASE_PROJECT_ID=\nVITE_FIREBASE_STORAGE_BUCKET=\nVITE_FIREBASE_MESSAGING_SENDER_ID=\nVITE_FIREBASE_APP_ID=\nVITE_FIREBASE_MEASUREMENT_ID=\n\nVITE_OMDB_API_KEY= (Get from https://www.omdbapi.com/ url)\n``` \n\n### Congratulations  🎉 🎉 You have completed all the steps now you run the server and test the application.\n\nNow open your browser and go to this url http://localhost:5173/\n\n## Some URL Information\n1. http://localhost:5173/ -\u003e Home URL ( All info about you movies list )\n2. http://localhost:5173/auth -\u003e Authentication\n3. http://localhost:5173/signup -\u003e Register new user\n\n## Social Media\n\nFollow me on social media for updates and more! If you have any issues running this project, please feel free to drop me a message.\n\n* [LinkedIn](https://www.linkedin.com/in/vikashsprem)\n* [Twitter](https://twitter.com/vikashsprem)\n* [GitHub](https://github.com/vikashsprem)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvikashsprem%2Fmovies-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvikashsprem%2Fmovies-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvikashsprem%2Fmovies-library/lists"}