a rest api to generate portfolio-ready screenshots of your awesome web projects

Once a web project is done, it's time to document your hard work and show it off. Portfoliofy makes that process easier by doing all the screenshots for you and assembling them together into configurable, portfolio-ready files through a RESTful API interface.
Portfoliofy is intended for:
- Student and professional web developers building portfolios to showcase their web development projects.
- Self-directed learners looking to learn Python, in general, and RESTful API development using FastAPI, specifically, within the context of building a web screenshot generator and image manipulation application.
Portfoliofy generates the following OUTPUT types, each offering configurable visual stylings, document layouts and output formats.
- OUTPUT_MAIN
- Eye-catching composite of viewport-specific screenshots at multiple device resolutions (desktop, laptop, tablet, smartphone)
- Each screenshot overlaid on a stylized device mockup
- Supported formats: PNG, JPEG, BMP, TIFF, PDF
- OUTPUT_BROWSER
- Viewport-specific screenshot at desktop resolution, overlaid on a stylized browser mockup
- Supported formats: PNG, JPEG, BMP, TIFF, PDF
- OUTPUT_MOBILES
- Side-by-side composite of viewport-specific screenshots at tablet and smartphone resolutions
- Each screenshot overlaid on a stylized device mockup
- Supported formats: PNG, JPEG, BMP, TIFF, PDF
- OUTPUT_FULL
- Full-page screenshot of the entire webpage content from top to bottom, overlaid on a stylized browser mockup
- Supported formats: PNG, JPEG, BMP, TIFF
- OUTPUT_MOVIE
- A scroll animation video of a full-page screenshot, framed by a stylized browser mockup
- Supported format: MP4
- OUTPUT_SCREENSHOTS
- Plain, viewport-specific screenshots at the following resolutions:
- Desktop (2160x1360)
- Laptop (1440x900)
- Tablet (768x1024)
- Smartphone (230x490)
- Plain, full-page screenshot of the entire webpage content from top to bottom
- Supported formats: PNG, JPEG, BMP, TIFF, PDF (except for full-page)
New features development is ongoing.
The initial release of Portfoliofy was submitted as the final project for CS50P: Introduction to Programming with Python (HarvardX, 2023).


