Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat]: Automate Profile Addition via Website Form Submission | gssoc-ext | level 3 #328

Open
1 task done
Hamza1821 opened this issue Oct 19, 2024 · 1 comment
Open
1 task done
Assignees
Labels
enhancement New feature or request gssoc24 Label is used for Issues and pull request related to GSSOC 2024 open source contribution. gssoc-ext Label is used for Issues and pull request related to GSSOC 2024 open source contribution. hacktoberfest Label is used for Issues and pull request related to Hacktoberfest 2024 open source contribution. hacktoberfest2024 Label for tracking contributions and activities during Hacktoberfest 2024 hacktoberfest-accepted Label is used for accept the pull request of contributer in Hacktoberfest 2024. level2 opensource Label is used for Issues and pull request related to all open source contribution.

Comments

@Hamza1821
Copy link

What feature?

Issue Description:

Currently, DevDisplay requires users to manually fork the repository, create a JSON file, and submit a pull request to add their profiles. To enhance user experience and simplify the contribution process, I will create a feature that allows users to submit their profile details directly from the website, automatically generating and submitting the required JSON file via a form.
Detailed Plan:

Create a Profile Submission Form:

Build a form using React Hook Form for collecting user details:
Fields: Name, Location, Bio, Avatar URL, Portfolio URL, Skills, GitHub, Twitter, LinkedIn.
Validate input fields to ensure correct data formatting (e.g., valid URLs, bio length of 20-30 words).

Generate JSON from Form Data:

Upon form submission, the input will be processed and converted into the required JSON format, matching the existing profile structure.
The skills will be handled as a comma-separated input that is transformed into an array.

Example of JSON format:

json

{
"name": "Your Name",
"location": "Your Location",
"bio": "Your Bio should be 20-30 words not more than that",
"avatar": "https://github.com/your-github-username.png",
"portfolio": "Your Portfolio URL or Github URL",
"skills": ["Your Skill 1", "Your Skill 2", "..."],
"social": {
"GitHub": "https://github.com/your-github-username",
"Twitter": "https://twitter.com/your-twitter-username",
"LinkedIn": "https://www.linkedin.com/in/your-linkedin-username"
}
}

Backend Integration for GitHub Automation:

Set up a backend service (Node.js/Express) to handle the form submissions.
Use the GitHub API to automate the process of adding the user's JSON profile file to the repository:
Fork the repository (if necessary).
Create a new branch.
Add the JSON file (e.g., username.json) to the public/data/ folder.
Submit a pull request automatically.

GitHub API Usage:

Implement the following GitHub API endpoints:
Fork Repository (if needed).
Create File in Repository.
Create Pull Request.

User Experience:

Once the pull request is created, it will await the project maintainer’s review and merge.
After merging, the user’s profile will be displayed on the website automatically.

UI Enhancements:

Add appropriate success and error messages to guide users through the process.
Notify users when their profile has been successfully submitted and is under review.

Assign this to me under gssoc-ext level 3

Add screenshots

Add screenshots

Code of Conduct

  • I agree to follow this project's Code of Conduct
@Hamza1821 Hamza1821 added the enhancement New feature or request label Oct 19, 2024
@Hamza1821 Hamza1821 changed the title [Feat]: Automate Profile Addition via Website Form Submission [Feat]: Automate Profile Addition via Website Form Submission | gssoc-ext | level 3 Oct 19, 2024
@madhukalita madhukalita added hacktoberfest Label is used for Issues and pull request related to Hacktoberfest 2024 open source contribution. hacktoberfest2024 Label for tracking contributions and activities during Hacktoberfest 2024 gssoc24 Label is used for Issues and pull request related to GSSOC 2024 open source contribution. opensource Label is used for Issues and pull request related to all open source contribution. hacktoberfest-accepted Label is used for accept the pull request of contributer in Hacktoberfest 2024. gssoc-ext Label is used for Issues and pull request related to GSSOC 2024 open source contribution. level2 labels Oct 21, 2024
@madhukalita
Copy link
Collaborator

https://chat.whatsapp.com/Dcl21sgGDIpHURESSuH0p4

join the whatsapp community and share your inhancement ideas of profile addition in Developer Group of community

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request gssoc24 Label is used for Issues and pull request related to GSSOC 2024 open source contribution. gssoc-ext Label is used for Issues and pull request related to GSSOC 2024 open source contribution. hacktoberfest Label is used for Issues and pull request related to Hacktoberfest 2024 open source contribution. hacktoberfest2024 Label for tracking contributions and activities during Hacktoberfest 2024 hacktoberfest-accepted Label is used for accept the pull request of contributer in Hacktoberfest 2024. level2 opensource Label is used for Issues and pull request related to all open source contribution.
Projects
None yet
Development

No branches or pull requests

2 participants