Inspiration
These days every programmer/coder likes to have their own portfolio website, and they have to constantly update it to better represent themselves and showcase their newly unlocked achievements/projects. So we thought why not build a resume/portfolio builder to build dynamic portfolios that have the ability to constantly update themselves to keep up with the programmer's growth.
It would also aid all who are programmers but not Web Developers (AI/ML Engineers, DSA Coder, DevRels) providing a platform for them to create portfolios for self-representation.
What it does
ResumeUp is a no-code resume builder capable of generating dynamic portfolio websites which are hosted by Vercel. It provides the user with an Interface where the user can design their portfolios with the help of provided prebuilt/predesigned widgets offering customization to the user.
After designing their portfolio users have the option to deploy it which initially creates a GitHub repository with the generated HTML code of their customized portfolio, which then is used to launch a Vercel deployment.
How we built it
- Flutter Framework on the web (with Wasm)
- Created a Github OAuth app for GitHub Authentication
- Used Appwrite for GitHub OAuth from the frontend
- Used TiDB to store User's Authentication/Access tokens
- Used GitHub APIs and Vercel APIs to retrieve the required data to build the portfolio build screen
- Flutter's Getx State Manager was used to provide state management
- A Flask web server was created to be used as the backend
- Vercel Access Token and Github Access Token were used on the server side to create a GitHub repository, upload and trigger Vercel deployment
Challenges we ran into
- Understanding GitHub OAuth, getting the GitHub Access Token from Appwrite
- Exploring TiDB and Implementing it as it was new for us
- Fetching user's data from GitHub and Vercel using access tokens and displaying them on UI
- Maintaining an ideal authentication flow while handling edge cases
- Figuring out the best deployment process for deploying the customized portfolio
- Tinkering with Github and Vercel APIs to implement the repo creation and trigger the deployment
Accomplishments that we're proud of
We have a smooth Auth flow which would contribute to a good UX along with a no-code, customizable, and dynamic portfolio that can be deployed with a single click saving an ounce of time for the programmers (no code and constant manual update required).
What we learned
- Learned about Appwrite OAuth and the Existence of GitHub Apps
- flutter_heatmap package was nice to explore
- Github graphQL API calling was new
- GitHub and Vercel API endpoints
- Explored the ease of use and strong functionality of TiDB serverless creating clusters and connecting to them
What's Next for Resume Up
- Using Vercel serverless functions to fetch dynamic user's stats specific to the customized portfolio
- Adding new widgets
- Figuring out and handling edge cases
- Figure and Add new features and functionality on the way
- Refactor and Improve the quality of the codebase
Log in or sign up for Devpost to join the conversation.