P

Projectfolio

Make, Share & Grow. A showcase for your projects.

P

Projectfolio

Make, Share & Grow. A showcase for your projects.

The problem Projectfolio solves

• Projectfolio is an app useful for showcasing your projects to the world. An improved way of sharing your work on which you have worked so hard. Projectfolio is a platform that acts as a connecting link between users and their GitHub profile.

• Creating repositories on GitHub is a great way to share your code with others. However, displaying the hosted project from GitHub is not that efficient. Going through the readme file and search for the deployment URL is not a great experience every time.

• So, we have created Projectfolio, an app with social media experience where you can post your project with description, preview images and URLs to showcase them to other developers. A platform where you can directly show what your project is all about and how it looks.

• Create a profile by signing in through GitHub, connect with other developers by following them and stay updated with what projects the community is working on. Like and comment your views on any project you like, know more about the project owners and contact them by accessing their GitHub profile and Twitter handle from within the app. Share your own project previews with complete description, link to your GitHub repository and hosting platform, add images of your final work and category of your project.

• Using Projectfolio, it becomes easy to find projects to contribute or for inspiration as you get to see how the projects look and work.

• As social media has become a part of our lives, an app dedicated for sharing the preview of their deployed projects with an interface similar to that of a social media app will attract and encourage people to post more, learn more and grow more as they get to highlight the result of their hard work and have more reach in the community.

Challenges we ran into

We ran into problems while building the whole app and we overcame those problems as a team and completed Projectfolio. Some of the problems we faced are:

• We were struggling to find the best way to authenticate our app with a GitHub login. We tried many packages like simple_auth, github_sign_in and superbase package directly but we don't want that user manually login into the app with id and password. Then we found an article on medium about GitHub login that uses url_launcher, uni_links and http package. In this method, the link will redirect you to the URL where the user can sign in to GitHub. Then getLinksStream(uni_links package inbuilt method) waits for the redirect. There you get a link with a code. This code is used to send a post request to Github. With the response, we were able to retrieve the user's data.

• We started building our frontend and backend app at the same time. So now whenever we update the backend repository, at that time we needed to release a new version to debug all problems in our frontend app which was very troublesome. Then we took a deep breath and completed the whole backend app on the first day and afterwards we started building the UI part in flutter app.

• At first, we were not able to add the function to add multiple images while posting your project on the app from profile section. But to make it work we had to add a new package in node.js which enabled us to complete the task.

• We also had a hard time in finding the right order to remove items from database tables to implement the delete post feature.

We have added plenty of features to the app and some of the features are not implemented yet but we will try our best to keep up to date with the repository.

Discussion