yasinatesim / facebook-album-downloader

This project is s simple web application that allows users to download Facebook albums in full resolution

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Facebook Album Downloader
Facebook Album Downloader


A simple web application that allows users to download Facebook albums in full resolution.

· Report Bug · Request Feature

📖 About

Facebook Album Downloader is a web application that allows users to download Facebook photo albums in full resolution. Simply enter the link to the album you want to download, and the application will create a ZIP archive containing all photos from the album.

📚 Tech Stack

Puppeteer A Node library for controlling headless Chrome or Chromium browsers
Axios A promise-based HTTP client for the browser and Node.js
JSZip A JavaScript library for creating, reading, and editing ZIP archives
Next.js The React Framework for SEO Friendly website and more...
React A JavaScript library for building user interfaces
skratchdot/react-github-corner Add a Github banner to your project page for React
Commitlint Send commit messages to conventional commits rules
TypeScript TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.
SASS The most mature, stable, and powerful professional grade CSS extension language in the world
Editorconfig Helps maintain consistent coding styles for my working on the same project across various editors and IDEs
Eslint Find and fix problems in your JavaScript code
Prettier An opinionated code formatter

🧐 What's inside?

Features

The main feature of this application is to allow users to download Facebook albums after entering the album link. When users enter a Facebook album link and click the "download" button, the application uses a tool called Puppeteer to scrape the HTML of the album and then presents these files as a downloadable ZIP file. Additionally, the application also includes a feature that warns the user if they are leaving the page while the download process may not have been completed yet.

Structure

  • pages - Contains top-level pages of the application.
    • api - Contains serverless API endpoints.
      • download.ts - Downloads a Facebook album using Puppeteer to scrape the HTML.
    • index.tsx - Renders the root component into the DOM.

The src directory contains the following:

  • styles - Contains global styles. global.scss - Global SCSS stylesheet.
  • containers
    • Home - Contains the main component of the application.
      • Home.module.scss - Local SCSS stylesheet for the Home component.
      • Home.tsx - Renders a form that allows users to input a Facebook album link and start downloading it.
  • Hooks index.ts - Exports all custom hooks. useBeforeUnload.ts - Provides a hook that warns the user before leaving the page if a download is in progress.

Getting Started

📦 Prerequisites

  • Node (v17.0.0+)

  • Npm (v8.1.0+)

⚙️ How To Use

  1. Clone this repository
git clone https://github.com/yasinatesim/facebook-album-downloader.git
  1. Install the project dependencies
yarn install

For Development

yarn dev

For Docker

  1. Change the directory
cd facebook-album-downloader
  1. Rename .env.example file to .env

  2. Run this command without yarn or yarn install

yarn setup

or

yarn && docker-compose up --build

# or

# For Build
docker build -t facebook-album-downloader .

# For Run
docker run -p 3000:3000 facebook-album-downloader

App is running on http://localhost:3000

For Production Build & Build Start

yarn build

and

yarn start

For Lint & Format

yarn lint
yarn format

🔑 License

  • Copyright © 2023 - MIT License.

See LICENSE for more information.


This README was generated with by markdown-manager 🥲

About

This project is s simple web application that allows users to download Facebook albums in full resolution

License:MIT License


Languages

Language:TypeScript 74.2%Language:Dockerfile 14.0%Language:SCSS 8.1%Language:JavaScript 2.1%Language:Shell 1.7%