A Seamless Drag and Drop Portfolio Building Experience
Folio is a portfolio builder that helps you to craft a simple yet beautiful portfolio in minutes, through a seamless drag and drop experience. Save your work and immediately get a shareable link to your online portfolio.
Folio was built over a course of 24 hours for the hackathon Hack&Roll 2020. The team members are:
The current maintainer of this project is Hanming.
The core packages/dependencies used are:
- react-beautiful-dnd
- redux, react-redux, redux-persist, redux-toolkit
- Bulma for the styling
Other packages used for both production and development can be found in package.json.
The code for the backend can be found here.
This project was bootstrapped with Create React App.
With Folio, you can instantly add the following elements to your portfolio:
- Title
- Subtitle
- Description
- Caption
- Message
- Images (up to 3 in a row, automatically resizes)
- URLs
- YouTube Videos
- Code Samples
- SoundCloud Embed
Simply drag and drop it into the middle. It's that easy!
folio
├── public/
└── src/
│ index.js
│ serviceWorker.js
├── app/
├── assets/
├── components/
├── constants/
├── contexts/
├── reducers/
├── routes/
├── services/
└── utils/
If you wish to run this app locally, make sure to clone the backend here.
Run the backend on http://localhost:3001
(or whatever port that suits you). You can do so using the bundle exec rails s -p 3001
command.
Subsequently, sign up for a Cloudinary account if you wish to upload images via the local app.
Then, edit the .env
file in the project root to:
REACT_APP_BACKEND_API="http://localhost:3001"
REACT_APP_CLOUD_NAME=<YOUR CLOUDINARY CLOUD NAME>
REACT_APP_UPLOAD_PRESET=<YOUR CLOUDINARY UPLOAD PRESET>
You can read Cloudinary's documentation here on setting up an upload preset for unsigned uploads.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.