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.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.
-
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 install
For Development
yarn dev
- Change the directory
cd facebook-album-downloader
-
Rename .env.example file to .env
-
Run this command without
yarn
oryarn 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
- Copyright © 2023 - MIT License.
See LICENSE for more information.
This README was generated with by markdown-manager 🥲