A simple web application that allows users to download Facebook albums in full resolution.
· Report Bug · Request Feature
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.
| 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 |
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.
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.containersHome- 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.
Hooksindex.ts- Exports all custom hooks.useBeforeUnload.ts- Provides a hook that warns the user before leaving the page if a download is in progress.
-
Node (v17.0.0+)
-
Npm (v8.1.0+)
- Clone this repository
git clone https://github.com/yasinatesim/facebook-album-downloader.git- Install the project dependencies
yarn installFor Development
yarn dev- Change the directory
cd facebook-album-downloader-
Rename .env.example file to .env
-
Run this command without
yarnoryarn install
yarn setupor
yarn && docker-compose up --build
# or
# For Build
docker build -t facebook-album-downloader .
# For Run
docker run -p 3001:3001 facebook-album-downloaderApp is running on http://localhost:3001
For Production Build & Build Start
yarn buildand
yarn startFor Lint & Format
yarn lint
yarn format- Copyright © 2023 - MIT License.
See LICENSE for more information.
This README was generated with by markdown-manager 🥲
