BioDrop icon indicating copy to clipboard operation
BioDrop copied to clipboard

[FEATURE] Separate sections for projects

Open razaahmad333 opened this issue 3 years ago • 15 comments

Description

A separate section to showcase the projects.

Currently, one can add links of their projects in My Links section through links field in their json data.

I think My Links is a more general space, one can figure out what to put there.

But having a Projects section can facilitate showcasing projects that one have worked on

The data can look like

 
    "projects": [
        {
            "title": "The name of the project",
            "techsUsed": [
                "ReactJS",
                "Typescript"
            ],
            "url": "url to the project if deployed",
            "githubRepo": " url to the repo if exists ",
            "contributors": []
        }
    ]

Screenshots

No response

Additional information

No response

razaahmad333 avatar Jan 08 '23 04:01 razaahmad333

It's great having you contribute to this project

Welcome to the community :nerd_face:

If you would like to continue contributing to open source and would like to do it with an awesome inclusive community, you should join our Discord chat and our GitHub Organisation - we help and encourage each other to contribute to open source little and often 🤓 . Any questions let us know.

github-actions[bot] avatar Jan 08 '23 04:01 github-actions[bot]

Great idea 👍

I was thinking, people could add the owner/name of the repo and we can get all the latest information from GitHub, for example EddieHubCommunity/LinkFree

eddiejaoude avatar Jan 08 '23 09:01 eddiejaoude

yes,

razaahmad333 avatar Jan 10 '23 10:01 razaahmad333

Can I work on this issue?

shyam0705 avatar Jan 11 '23 14:01 shyam0705

I think this needs some more planning first @shyam0705

eddiejaoude avatar Jan 11 '23 22:01 eddiejaoude

@eddiejaoude using GitHub API we can get the project description, URL, and tech stack which will be the same as the about section in the GitHub repository. so far I have modified API to include a projects array in the profile where each project will have "title", "description", "githubrepo", "techUsed", "URL", "contributors" fields.

shyam0705 avatar Jan 12 '23 08:01 shyam0705

I am thinking about UI like:-

image We can stack avatars of the top 3 contributors.

Let me know if you have any suggestions and should I go ahead with this or not.

shyam0705 avatar Jan 12 '23 08:01 shyam0705

so far I have modified API to include a projects array in the profile where each project will have "title", "description", "githubrepo", "techUsed", "URL", "contributors" fields.

What do you mean? What is in the user profile json file?

eddiejaoude avatar Jan 12 '23 08:01 eddiejaoude

I would separate this into several sub spaces.

The structured as follows

  • projects
    • open source projects (GitHub projects)
    • other projects (here a link or just a description will be needed)

Json draft would look like this in my opinion:

Project [ GitHub/url (if this is present use the GitHub data for the fields which are not specified) Title Url Date ...

]

I think we can enhance this but I'm keen to hear your opinions on how to handle GitHub projects approach.

Currently only on my phone so sorry for the formatting.

schmelto avatar Jan 12 '23 08:01 schmelto

so far I have modified API to include a projects array in the profile where each project will have "title", "description", "githubrepo", "techUsed", "URL", "contributors" fields.

What do you mean? What is in the user profile json file?

In the JSON file, the user will only enter the owner and repo name. Using GitHub API, I am fetching the above details about the project

shyam0705 avatar Jan 12 '23 08:01 shyam0705

Thanks @schmelto , I think we only need this type of info in the user's json profile for now?

   "projects": {
      "github": ["EddieHubCommunity/LinkFree"]
   }

@shyam0705 not sure what your structure is like, but this is what I recommend

eddiejaoude avatar Jan 12 '23 08:01 eddiejaoude

"projects": [ { "owner": "", "repo": "" }]

I have used like this but will modify it.

shyam0705 avatar Jan 12 '23 09:01 shyam0705

Thanks @schmelto , I think we only need this type of info in the user's json profile for now?

   "projects": {

@eddiejaoude

My idea was that we can go with something like this:

   "projects": {
      "github": ["EddieHubCommunity/LinkFree"]
      "name": "name"
      "url": "url"
     [...]
   }

where those fields are only obligatory. If the github link is present the fields like name are filled with the github ones but you can also add a project which is not from github by not maintianing the github link and only using the name url ...

graph TD
    B(Projects)
    B --> C{github link present}
    C -->|yes| D[Call github api and fill empty fields]
    C -->|no| E[Use only the fields in the profile json]

schmelto avatar Jan 12 '23 09:01 schmelto

I think that will make it more complicated for people to create. My suggestion I think keeps it the simplest - we can focus on GitHub for now and later add more options

eddiejaoude avatar Jan 12 '23 09:01 eddiejaoude

Great idea 👍

I was thinking, people could add the owner/name of the repo and we can get all the latest information from GitHub, for example EddieHubCommunity/LinkFree

what if the project do not have a github repo

razaahmad333 avatar Jan 15 '23 11:01 razaahmad333

This can be looked into further once forms have been completed as we don't want to add anymore data to the json files https://github.com/EddieHubCommunity/LinkFree/pull/6998

eddiejaoude avatar May 29 '23 03:05 eddiejaoude

Work in progress...

  • User can add/delete their GitHub repo in their profile
  • Repo data is fetched from GitHub's API
  • GitHub data is cached (similar to GitHub profile location data)
  • Display new tab Project on profile
  • Have overall app page for projects (similar to Events)

eddiejaoude avatar Jul 21 '23 12:07 eddiejaoude

The issue has been unlocked and is now ready for dev. If you would like to work on this issue, you can comment to have it assigned to you. You can learn more in our contributing guide https://github.com/EddieHubCommunity/LinkFree/blob/main/CONTRIBUTING.md

github-actions[bot] avatar Jul 21 '23 12:07 github-actions[bot]