GSoC 2020 Final Report for Systers Portal
- The mission of the project - “To connect communities together, post and share information within the community.”
- Organize meetups to increase community bonding and bonding within the Systers Portal
- Provide the users with variety of resources to learn and grow and to make them easily accessible.
- Add features which increase user activity within the community and help increase outreach.
- Backend - Python 3.7
- Tests - Python 3.7
- Django 3.09
- Django Apscheduler
- Django Ipware
- Other frameworks like cities_light, imagekit, ckeditor, etc.
Proposed Timeline of Work
- Improve Communities Search and Views
- Add Google Maps
- Enable Location and Zoom
- Add Search Feature
- Remove Meetup Location Dependency
- Remove all permissions and views for locations.
- Change signals and models as required.
- Modify tests based on the changes.
- Revamp Meetup Search
- Enhanced UI
- Added Location Detection
- Improve Dropdown UI
- Add Meetup History Feature
- Enable users to add images and resources after meetups are held
- Suggestions for Meetups
- Generate suggestions based on meetup descriptions
- Use TF-IDF to find closest meetups
- Display similar meetups on the meetup page
- Subscription for Emails
- Setup Scheduled Emails for Reminders and Weekly Digests
- Allow users to enable or disable emails
- Enable Zoom Meetups for Virtual Meeting
- Integrate Zoom API for users to create or request virtual meetups
- Setup Permissions for Admins to view the Start and Join Url for the meeting
- Add Pinboard and Pins for Resources
- Enables Users to Pin Posts and Resources for them to check them out
- Use AJAX requests for implementing the above without reloading
- Tests for increasing coverage drop
List of Important Pull Requests
|Pull Request||Feature Added|
|551||Third Party Authentication Settings for Facebook|
|555||Location and Search Bar for Community|
|556||Cards and Search for Community|
|562||Maps and Tests for Search in Communities|
|568||Dependency on Meetup location Removed|
|569||Meetup Search Revamped|
|572||Dropdown Menu Revamped|
|593||Meetup History Added|
|594||Subscription Settings Frontend|
|599||Scheduler and Jobs Added|
|625||Tf-idf Compare API Integrated|
|626||Suggested Meetups Front-end Added|
|639||Zoom Meeting API Integrated|
|650||Pinboard Feature Added|
|661||Tests for Settings Added|
- Failing tests
- Ongoing open source work on the project.
- Production quality code.
- Styling and maintaining the consistency.
- Managing Documentation alongside coding.
- Daily Scrum Check-ins.
- Writing Blogs
- Launch Portal on the android platform.
- Can be either android app or PWA.
- Must be in compliance with the current web version.
- Personalized Dashboard
- User Personalized Dashboard showing all user activity.
- Increase Coverage on Portal
- More tests can be written on the Portal to increase coverage.
- Shifting to REST API based backend structure from monolithic.
- Writing tests for Features
- Time Management and Punctuality
- Getting to know about a number of frameworks
- Learning to write good quality code
- Documenting work.