From dbcac267fef0665c9ad72bbdd456034c9a7ee59a Mon Sep 17 00:00:00 2001 From: Keshav Garg Date: Fri, 23 Aug 2019 22:01:49 +0530 Subject: [PATCH] KVGarg.md: Add EWA project work report --- .coafile | 1 + _reports/KVGarg.md | 649 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 650 insertions(+) create mode 100644 _reports/KVGarg.md diff --git a/.coafile b/.coafile index 3b877463..e26ef495 100644 --- a/.coafile +++ b/.coafile @@ -35,6 +35,7 @@ ignore = _projects/README.md, data/locale/en/projects/README.md, _reports/AmolGrover.md, + _reports/KVGarg.md, # README.md symlinks: https://github.com/coala/coala-bears/issues/2950 max_lines_per_file = 500 diff --git a/_reports/KVGarg.md b/_reports/KVGarg.md new file mode 100644 index 00000000..50c9da93 --- /dev/null +++ b/_reports/KVGarg.md @@ -0,0 +1,649 @@ +--- +categories: + - GSoC + - 2019 + - Work Report +date: 2019-08-20 +student: Keshav Garg +organisation: coala +organisation_link: https://coala.io +project: Enhance Websites Architecture +project_link: https://summerofcode.withgoogle.com/projects/#5279011071066112 +tarball: https://github.com/KVGarg/GSoC-2019-Report/raw/master/kvgarg_coala.tar +sha256sum: 23ef573e8e6fa3522c616ffc974673abf59989503d7cd15494eaef0d32f1f606 +mentors: > + [Srikrishna Singh](https://github.com/sks444) & + [Marcos Gómez](https://github.com/margobra8) +phase: + - Bonding: https://gitlab.com/coala/GSoC/gsoc-2019/milestones/14 + - Phase 1: https://gitlab.com/coala/GSoC/gsoc-2019/milestones/15 + - Phase 2: https://gitlab.com/coala/GSoC/gsoc-2019/milestones/16 + - Phase 3: https://gitlab.com/coala/GSoC/gsoc-2019/milestones/18 +bio: > + I am a final year student (expected graduation month - June 2020) studying + Computer Science and Engineering at Chandigarh College of Engineering and + Technology, Chandigarh. I participated in GSoC'19 with + [coala](https://coala.io) open-source organization. + + My project aimed to increase the usability and easiness for all the + open-source enthusiasts by enhancing and improving the coala + [Community website](https://community.coala.io/) as well as coala [Projects + website](https://projects.coala.io/) for newcomers, developers as well as for + the other communities. The major focus of this project was to enhance the + website's architecture, with the addition of new API endpoints in coala + [Webservices](https://webservices.coala.io/). *CRON Jobs* have been + defined in coala Webservices which will make sure that the data related to + the organization is up-to-date, which will be used in coala websites. +social: + - GitHub: + - username: KVGarg + - link: https://github.com/KVGarg + - GitLab: + - username: KVGarg + - link: https://gitlab.com/KVGarg + - Gitter: + - username: KVGarg + - link: https://gitter.im/KVGarg + - OpenHub: + - username: KVGarg + - link: https://www.openhub.net/accounts/KVGarg +email: co16326.ccet@gmail.com +blog: https://kvgsoc19.home.blog/ +activity: + + - 1: + - repo: cEPs + - link: https://github.com/coala/cEPs/commit/9fd24777ce6f83fd2b5ec0d8e1df13365acfe574 + - details: > + cEP-0032: Enhance Websites Architecture + + - 2: + - repo: gsoc-2019 + - link: https://gitlab.com/coala/GSoC/gsoc-2019/uploads/d3025171a578f6f8c6b9899618541ed0/header.png + - details: > + Create a re-usable logo for any open-source community + + - 3: + - repo: gsoc-2019 + - link: https://gitlab.com/coala/GSoC/gsoc-2019/uploads/c7a457127635ae68555b6fcb504c2235/homepage-mockup.png + - details: > + Create a mockup design for coala Community homepage + + - 4: + - repo: gsoc-2019 + - link: https://gitlab.com/coala/GSoC/gsoc-2019/uploads/dd5e7fe75e3bbd7496c0e6a839e9fc27/Contributors.png + - details: > + Create a mockup design for contributors web-page + + - 5: + - repo: gsoc-2019 + - link: https://gitlab.com/coala/GSoC/gsoc-2019/uploads/653d4173fd567e201a0c717daf48d00f/Build_logs.png + - details: > + Create a mockup design for build logs information web-page + + - 6: + - repo: gsoc-2019 + - link: https://gitlab.com/coala/GSoC/gsoc-2019/uploads/0a709dc8e1c365310440544fa05e55d5/Meta-Review_v3.png + - details: > + Create a mockup design for web-page displaying contributors meta + -reviews + + - 7: + - repo: gsoc-2019 + - link: https://gitlab.com/coala/GSoC/gsoc-2019/uploads/003a9abc51c8755e97defb55ec17194a/Gamification_Leaderboard_v3.png + - details: > + Create a mockup design for web-page displaying gamification leaderboard + + - 8: + - repo: artwork + - link: https://github.com/coala/artwork/commit/40019e097d8eb1421157b8c0957fd6316a025e60 + - details: > + Add coala community related new artwork + + - 9: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/63/commits + - details: > + Fix existing cron jobs + + - 10: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/64/diffs?commit_id=d9d85f91fb654e17fffe466cad5c688bd4dfc217 + - details: > + org/: Add Feedback data model + + - 11: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/65/diffs?commit_id=9bcee2fe893575e4592a0f5c4c39926fe9a6f744 + - details: > + Simplify 'org' app + + - 12: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/65/diffs?commit_id=4c8abe98a8a209d538907256b1c06041729ecc8d + - details: > + osforms/: Add open source forms database model + + - 13: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/66/diffs?commit_id=9f710897f04ec31ac1ac6a47a7d87208a575cb51 + - details: > + org/: Add Calendar db model + + - 14: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/67/diffs?commit_id=27a88645aa623d586dd8c342e4cee8c25b582fe5 + - details: > + org/: Store some extra user related data + + - 15: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/67/diffs?commit_id=ad0f42c98cef8f46075349e6a184f7582b76cf2f + - details: > + org/: Add geolocation to contributor model + + - 16: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/68/diffs?commit_id=985ecaceb84073cd117eb46645ee1ef6a944f6b2 + - details: > + org/: Update Teams model + + - 17: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/70/diffs?commit_id=58fb19ecd36b504d6b39a3d201d08f9ea633bbb8 + - details: > + org/: Add a cron for scraping inactive issues + + - 18: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/71/diffs?commit_id=c363097697f213679e16878b96851ab1d1b836a3 + - details: > + org/: Add a cron for filtering unassigned issues + + - 19: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/72/diffs?commit_id=3549c33d46d40d32b6a735b8e3cf62501feff922 + - details: > + git.py: Add functions to fetch git related details + + - 20: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/72/diffs?commit_id=66f491c793cc22e2db15ddfd78f1ccf175cc1fbc + - details: > + meta_review/: Migrate from community repo + + - 21: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/73/diffs?commit_id=b3dec98882f54229304e6be9fdc875d82db32f1b + - details: > + org/: Add org activity scraper + + - 22: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/74/diffs?commit_id=22aef2899cc70e852c0de8e6fa101a1a4f37399a + - details: > + gamification/: Migrate app from community repo + + - 23: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/75/diffs?commit_id=0b549bc5883a178ccea944ea6dd6b9bbe2c63da9 + - details: > + gitlab-ci.yml: Add Continuous Deployment + + - 24: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/76/diffs?commit_id=aa57c6f666594ec34d50694784152d1d59a8efcd + - details: > + org/: Add GSoC Student model with endpoint + + - 25: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/77/diffs?commit_id=f3a289f8a6a7b0f99478be8e0cd687a8a81c347d + - details: > + org/: Add access_token validator + + - 26: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/78/diffs?commit_id=b5afe3bcb6d6f88782eb81c59c9743e720eac150 + - details: > + org/: Fetch and Save contributor activities data + + - 27: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/79/diffs?commit_id=53f44b8f1a874c7b1ee42725e4af6cd803d9906e + - details: > + org/: Add data model for organization mentors + + - 28: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/80/diffs?commit_id=3ae112d43e129c86b721ba1660b7686522fa2421 + - details: > + org/: Add join community cron job + + - 29: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/81/diffs?commit_id=0bc28fe7f2c3b78cc7196e7e6d209acb93dbc787 + - details: > + org/: Process getting assigned on issues requests + + - 30: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/82/diffs?commit_id=848250944354ae21b4a63a1ad8de47c5c1e44f3b + - details: > + org/: Add newcomer promotion cron job + + - 31: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/83/diffs?commit_id=ff1fc1873b54f0d30a3b8e6cd0e795402b184604 + - details: > + home.html: Omit unwanted spaces and indents + + - 32: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/83/diffs?commit_id=b5fb80b85cb8e745597c57443af7a3d424a22490 + - details: > + home.html: Add information about new endpoints + + - 33: + - repo: landing + - link: https://gitlab.com/coala/landing/merge_requests/84/diffs?commit_id=8f96acc440c6d4f7f29b5387fea65492ef9d6b99 + - details: > + coala_web/: Add an endpoint to get a single issue + + - 34: + - repo: community + - link: https://github.com/coala/community/commit/de15cb2ce5e64292ea14561b95184ca95bc35620 + - details: > + Sync Moban + + - 35: + - repo: community + - link: https://github.com/coala/community/commit/dc36c9f10ab13b17e0ec3358606608cc33f614da + - details: > + travis.yml: Install Python v3.6.3 + + - 36: + - repo: community + - link: https://github.com/coala/community/commit/ab5e8606f2be80f6084f4b0c3b16eadcebb8a538 + - details: > + tests/: Remove dependency of testusers' + + - 37: + - repo: community + - link: https://github.com/coala/community/commit/c6afccdd7e82f5cfe3889310fa68376acf4b793c + - details: > + .coafile: Ignore openhub module + + - 38: + - repo: community + - link: https://github.com/coala/community/commit/6e9765de6b07eb6dff8e6aa8348aa62311d4fae2 + - details: > + data/: Update Contributor model + + - 39: + - repo: community + - link: https://github.com/coala/community/commit/c81d98c00bceb1444f414792684ae170e4f8d24d + - details: > + git.py: Make CI build pass + + - 40: + - repo: community + - link: https://github.com/coala/community/commit/2c481f3d418edb90d712d1525205c5cbb7c96cd1 + - details: > + README.md: Update header image + + - 41: + - repo: community + - link: https://github.com/coala/community/commit/7f2877af3fb19cd7ead8a167fae5eaef4f8b4151 + - details: > + Enhance the community website homepage + + - 42: + - repo: community + - link: https://github.com/coala/community/commit/77d038d42f0f14ed0065281e5a2e66edc5dd1820 + - details: > + ci_build/: Re-design build-logs webpage + + - 43: + - repo: community + - link: https://github.com/coala/community/commit/5f86b09570f531388aff11f71d0cc4b275c1cf66 + - details: > + gci/: Redesign gci students web-page + + - 44: + - repo: community + - link: https://github.com/coala/community/commit/07468738935538c72ab5d6062ae3bda32374ecb3 + - details: > + data/: Re-design the contributors web-page + + - 45: + - repo: community + - link: https://github.com/coala/community/commit/cafc7e64ca8a3baf67a9cf6be80770f3b54908f6 + - details: > + meta-review/: Redesign the webpage + + - 46: + - repo: community + - link: https://github.com/coala/community/commit/f581b434e3b147c43b35c5dbcf3aac3d879b79ff + - details: > + gamification/: Redesign the webpage + + - 47: + - repo: community + - link: https://github.com/coala/community/commit/51586083980cacc73c5340355f1462b25ffdbffc + - details: > + Add netlify-OAuth + + - 48: + - repo: community + - link: https://github.com/coala/community/commit/41c5e35c5fb2820fdd54500579839bafd8c8f1e4 + - details: > + community/: Add a joining netlify form + + - 49: + - repo: community + - link: https://github.com/coala/community/commit/a0126936d20a2849efb8e4aa177be50467c9b1bb + - details: > + community/: Display contributor statistics + + - 50: + - repo: community + - link: https://github.com/coala/community/commit/e05a821b06abbaf4d5a55c9c063da987da29a12c + - details: > + community/: Add a form for uploading google forms + + - 51: + - repo: community + - link: https://github.com/coala/community/commit/72742770edd1b3cc16737b9fc7d5699d4ed089fd + - details: > + community/: Add a form for adding calendar events + + - 52: + - repo: community + - link: https://github.com/coala/community/commit/e94bc5ca1fee51015fbcbb6bfc3a17766a9739da + - details: > + community/: Add a form for applying as a mentor + + - 53: + - repo: community + - link: https://github.com/coala/community/commit/6048e0e40ed8eae7ad056869e193d43996121c47 + - details: > + community/: Add a form for adding a gsoc student + + - 54: + - repo: community + - link: https://github.com/coala/community/commit/e6ec38345bd726b378af098b8f5213272840107d + - details: > + community/: Add a request form to assign issue + + - 55: + - repo: community + - link: https://github.com/coala/community/commit/7714d9eb7aab713ca18fed9beb7ff4bcdffc0003 + - details: > + community/: Add a newcomer promotion request form + + - 56: + - repo: community + - link: https://github.com/coala/community/commit/bfbc9c16faaaa4d1be7b73926f403d4e60a09815 + - details: > + community/: Add a feedback form + + - 57: + - repo: openhub-django + - link: https://github.com/sks444/openhub-django/commit/56d8fe2a36a1857657bfbd29138cafb256b62543 + - details: > + README.rst: Add necessary details regarding usage + + - 58: + - repo: openhub-django + - link: https://github.com/sks444/openhub-django/commit/253247d9ee46f4dc90ddb2f0dea9a208f63a4415 + - details: > + setup.py: Install requirements and test-requirements + + - 59: + - repo: openhub-django + - link: https://github.com/sks444/openhub-django/commit/5f9ba951c033806f21007e7adf9eabb0ef2d9d78 + - details: > + settings.py: Configure project for running it locally + + - 60: + - repo: openhub-django + - link: https://github.com/sks444/openhub-django/commit/96a8b5a5d3641690fb54bb51b13280461ceece85 + - details: > + templates/: Add a nice UI/UX design + + - 61: + - repo: openhub-django + - link: https://github.com/sks444/openhub-django/commit/69923b617251aafee57a7024730f37874738863a + - details: > + templates/: Add card display to the details webpage + + - 62: + - repo: community + - link: https://github.com/coala/community/commit/577b60989cf5edb8ef3bc23c2124a8d6a22c5573 + - details: > + Remove openhub and model apps + + - 63: + - repo: community + - link: https://github.com/coala/community/commit/8daed650b0097abb790f84ab2d5cc100f066a609 + - details: > + openhub/: Use openhub_django pypi package + + - 64: + - repo: community + - link: https://github.com/coala/community/commit/6fe3e7fe516e89d85edf605ae068923cab3595ae + - details: > + community/: Display org teams + + - 65: + - repo: community + - link: https://github.com/coala/community/commit/9922faf86742ab52f8b1407e3b281ee56b3aed9e + - details: > + community/: Add a webpage for Listing Issues + + - 66: + - repo: community + - link: https://github.com/coala/community/commit/2f9864ff8352f824181fdb39a0eb9543002f4e5f + - details: > + Display more info. about unassigned issues + + - 67: + - repo: community + - link: https://github.com/coala/community/commit/ca293fc5fb857d3edb59a808b4486b0a2cd881a7 + - details: > + community/: Add web-page displaying mentors + + - 68: + - repo: community + - link: https://github.com/coala/community/commit/5a100e0d93d1e4f8092822548f8e8c9dcfb1b81a + - details: > + README.md: Update to add new setup instructions + + - 69: + - repo: projects + - link: https://github.com/coala/projects/commit/a935711eb0219d38bc73b93882f91e67de8ed379 + - details: > + app.js: Get mentors from Webservices + + - 70: + - repo: projects + - link: https://github.com/coala/projects/commit/4f4ef06343380406b1178296bd9b9723e7e07744 + - details: > + tabs: Fetch and Display forms from webservices + + - 71: + - repo: projects + - link: https://github.com/coala/projects/commit/3857d95e0e2d1697fdc8cc67ab8a117e4db0c749 + - details: > + projects.html: Add filters for searching projects + + - 72: + - repo: projects + - link: https://github.com/coala/projects/commit/353bed9af50c44e81653631216a07a9f86aa3bfe + - details: > + events.html: Get & Show events from webservices + + - 73: + - repo: projects + - link: https://github.com/coala/projects/commit/a87bb704a966601785f7a60f8338e0b0260f2073 + - details: > + projects.html: Get issues detail from webservices + + - 74: + - repo: projects + - link: https://github.com/coala/projects/commit/64acdd42f9f34de3a4ba27a10cbadb02dfaf343a + - details: > + report.md: Improve layout for all screens + + - 75: + - repo: projects + - link: https://github.com/coala/projects/commit/1ece2dd85abe4227a70da7fb2ce2adff5a6f07b4 + - details: > + students.html: Add a tab displaying GSoC Students + + - 76: + - repo: projects + - link: https://github.com/coala/projects/commit/550a99cf7a48a18f0e42be618256011064552e5a + - details: > + index.html: Add a navbar + + - 77: + - repo: coala + - link: https://github.com/coala/coala/commit/c9ea3de96dcfe9191427394275659edfde79a758 + - details: > + Newcomers_Guide.rst: Mention about available forms + +--- + +### Enhance Websites Architecture + + +#### Work Done + +1. Back-end Enhancements (in coala Webservices): + 1. Fix the existing issues with the runnable cron jobs + 2. Added cron jobs for fetching + 1. users feedback, + 2. open-source google form available to all developers, + 3. calendar events, + 4. requests of contributors who participated in GSoC with the + organization and wanted to add their project details to the database, + and + 5. requests of developers who wanted to participate as a mentor in the + upcoming Google Summer of Code, + + from coala Community website and store them. + 3. Added a cron job for - + 1. fetching contributors geolocation; + 2. validating the access token, used for logging-in onto the coala + Community website; + 3. fetching the contributor's activities data like the issue, merge + requests, commits related activities; + 4. users who want to join the organization; + 5. processing the contributor's request who want to get assigned on an + issue; and + 6. processing the newcomer's request who wanted to get promoted to the + developer role; + 4. Update the organization teams information weekly + 5. Migrated following apps from coala Community repository - + 1. inactive issues scrapper, + 2. filtering the issues to get all unassigned issues activity, + 3. meta-review system, + 4. gamification system, and + 5. activity scrapper + + as there should only one database which stores all the information + related to the organization. + 6. Added continuous deployment to the repository + 7. Added an endpoint to fetch a single GitHub/GitLab issue + 8. Updated the homepage of coala Webservices, to add information about new + enhancements added to the webservices. + +2. Enhancements made in coala Community Website: + 1. Created a project-specific logo, which can be re-used by any open-source + community + 2. Re-designed the homepage, by adding a new UI/UX design to it. + 3. Merged up the build information and build logs web-pages, to one web-page + with a nice UI/UX design added to that web-page. + 4. Re-designed the Google Code-In students web-page, by adding a new UI/UX + design to it. + 5. Re-designed the contributor's web-page, by adding a new UI/UX design to + it and with a search bar to search for a contributor among thousands of + contributors. + 6. Re-designed the meta-review web-page, by adding a new UI/UX design to + it and with a search-bar to search for a single contributor. + 7. Re-designed the gamification leaderboard web-page, by adding a new UI/UX + design to it and with a search bar as well as some filters. + 8. Added Netlify OAuth for getting access to the community forms like + promotion request form, getting assigned to an issue, etc. + 9. Added following netlify forms to the website - + 1. organization join form, + 2. calendar event uploader form, + 3. uploading information about open source organizations forms like any + conference, workshop, etc. + 4. participate as a mentor in the upcoming Google Summer of Code, + 5. add your GSoC project related details + 6. "want to get assigned on an issue?" form + 7. promotion to developer role form, and + 8. a feedback form + 10. Added a pop-up, to display all the contributor activities (or say all + the contributions details) in the form of charts. + 11. Remove the usage of implemented OpenHub models in the repository and + use the OpenHub-Django pypi package instead. + 12. Added a web-page for displaying the organization teams to the logged-in + users. + 13. Re-designed the web-page that lists-out all the inactive issues across + the organization, by adding a new UI/UX design to it and showing the + issue related details. + 14. Re-designed the web-page that lists-out all the unassigned issues + activity across the organization, by adding a new UI/UX design to it and + showing the issue related details. + 15. Added a web-page for displaying the organization mentors for the + upcoming summer/winter programs like GSoC, GCI, etc. + 16. Updated the repository README.md to mention about the new enhancements + made and how to use them? + +3. Enhancements 'n' Improvements made in coala Projects Website: + 1. Fetch the GSoC mentors from coala Webservices too. + 2. Added a tab for displaying all the Open-Source forms by fetching it + from coala Webservices. + 3. Added filters for searching GSoC projects. + 4. Added a tab for displaying all the calendar events by fetching it + from coala Webservices. + 5. Fetch the related issues state from coala Webservices for a chosen + project and change the CSS class based on that state. + 6. Re-named the projects report web-page to a web-page which displays all + the past years GSoC students. The students who've participated with coala + in GSoC in previous years. This new web-page now has a respective tab in + navbar instead of an inline-link. + 7. Changed the tabs display to a navbar i.e. added a navbar to the website + for navigating around the web-pages. + +Apart from this, I've contributed to the [openhub-django](https://github.com/sks444/openhub-django/) +repository, so that it can get ready to be used in the coala Community +repository, to get the details about the organization from the OpenHub. And, +added necessary documentation(or say information) for contributors in the +[Newcomers' Guide](https://coala.io/newcomer) mentioning about the forms +available on the coala Community website. + +#### Challenges + +Most things went smoothly. The biggest challenge for me was to design the +web-pages mockup designs and the logo for the coala community website because +the community repository is a re-usable repository i.e. any organization can +fork this repo and use it without making any major changes in the code. So, the +logo must symbolize all the open-source communities. And, another challenge was +to decide the validation checks which will be implemented to check whether the +form entry (the form submitted by a user on coala Community website) is valid +or not. But I am grateful to my helpful mentors for supporting me and making +the tasks easier. + +#### Work to be done + +Just left with to make usage of coala Webservices with coala Community website. +Currently, the data is being fetched from a repository which contains the +static data about the organization. And, to use coala Webservices with +Community website, all the created merge requests in the repositories should +get merged so that we can fetch the realtime-data of the organization and +display it on the website.