Skip to content

Instantly share code, notes, and snippets.

@JyothiSwaroopReddy07
Last active December 16, 2023 04:38
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JyothiSwaroopReddy07/89c56164a48a833e2bfdc8a5256c46d1 to your computer and use it in GitHub Desktop.
Save JyothiSwaroopReddy07/89c56164a48a833e2bfdc8a5256c46d1 to your computer and use it in GitHub Desktop.
Google Summer of Code 2023: INCF

Google Summer of Code 2023 Final Report

gsoc

Abstract:

The changing landscape of academic publishing requires robust, transparent, and faster review systems. The Sci-commons portal, developed during Google Summer of Code 2023, addresses these challenges by combining traditional peer review mechanisms with community-driven open-review systems. Additionally, the platform champions anonymous reviews to ensure ethical and unbiased feedback.

Background:

Current open-review platforms largely depend on official reviewers, leading to time lags and scalability issues as article submissions grow. The essence of the Sci-commons portal is to democratize the review process by allowing any enthusiastic user to contribute, ensuring quality while reducing review durations.

Key Objectives:

Provide a platform for research scholars to submit work to multiple communities simultaneously. Enhance the review process by allowing any user to comment and rate articles. Ensure unbiased reviews through random assignment of reviewers and moderators. Promote anonymous reviews to foster an environment of objective and fearless feedback.

Features and Implementation:

  • Multi-community Submission: Enables scholars to reach diverse audiences by submitting to various communities. Parallel reviews provide a plethora of feedback.
  • Open Reviewing System: Beyond official reviewers, any registered user can offer insights, increasing the depth and breadth of reviews. Articles can be rated, facilitating community-driven quality checks.
  • Anonymous Reviewing: Unique random handles are assigned to reviewers, ensuring anonymity. Promotes ethical, unbiased, and objective reviews.
  • Automated Peer-Review Process: Initial reviews by community admins act as a preliminary filter. Randomized assignment of official reviewers and moderators ensures an unbiased peer-review process.
  • Reputation-Based System: Reviewers gain or lose reputation based on community reactions to their reviews. Encourages quality feedback and separates users based on review reliability.
  • Article-specific Chat Page: A dedicated space for informal discussions around submitted articles. Ensures that the review section remains focused and clutter-free.

TechStack Used

  • React
  • django
  • postgresql

Deployment and Storage

  • AWS S3 for media storage
  • The site is deployed on Render

Objectives Completed

1. Creating DataBase Schema

First task which I tried to tackle was to create a Database schema. I had to design the database which can store the website data in efficient manner. I have created a database schema this way. DataBase Schema

2. Creating Backend Api

Creating Backend in django involves steps like creating viewsets,serializers, permission,filters, consumers(chat part of website).

Backend Code Repository

3. Documentation for Backend API

The documentation of backend is done using swagger docs.Swagger is a powerful tool for documenting RESTful APIs, and it can be used to document APIs built with Django REST framework (DRF) in Django projects.Documentation

4. Creating Frontend using ReactJS

I have created frontend in reactjs using tailwindcss as css framework.

Frontend Code Repository

Live Site Link

Pages which I have created:

  • Login Page: Used for User Login LoginPage

  • Register Page: Used for user registration contains password policy and detects form errors. RegisterPage

  • Home Page: this is landing page of website HomePage

  • Submit Article Page: the user can submit their article from this page

SubmitArticlePage

  • Submit Pubmed Article: the user can submit an exsiting pubmed article using pubmed api. Pubmedapi article

  • All Communities Page: This displays all the communities associated with scicommons AllCommunitiesPage

  • All Articles Page: This displays all the articles submitted to scicommons AllArticlesPage

  • Profile Page: Displays user details, his posts,articles, user info ProfilePage-1 ProfilePage-2 ProfilePage-3

  • Posts Page: this is user feed where the posts of all users are visible UserFeedPage

  • Single Post Page: this is page to view comments of a post,reply to comments SinglePostPage

  • Article Page: this is page to display article details and reviews it recieved ArticlePage

  • Article Chat Page: this page is used to display chats related to an article Article Chat Page

  • Notifications Page: this page displays notifications of user Screenshot (42)

  • Forgot Password Page: this page is used to reset password using otp ForgotPassword

  • Email Verification Page: this page is used to verify email address of user VerificationPage

  • Create Community Page: this page is used to create new community CreateCommunityPage

  • Join Request Form Page: this page is used to submit a join request to a community by any user JoinRequestForm

  • Admin Community Edit Page: Page is only accessed by admin of community to edit details of community CommunityEditPage

  • Admin Article Page: page is used by admin of community to accept/reject the submitted articles, add publish info to article AdminArticlePage

  • Admin Members Table Page: Used by admin to promote or demote users based on their roles. CommunityMembers Page

  • Author Article Page: Used to edit articles, add article to new communities. AuthorArticlePage

  • My Profile Page: Used by user to edit the profile page Screenshot (41)

  • Review Form: Used to submit a review to an article ReviewForm

  • Post Form: Used to post a post in feed. PostForm

  • Comment Form: Used to post a comment to review or decision CommentForm

Sci-commons: Challenges Addressed

1. Scalability

Background:

As the global research community expands, the volume of articles submitted for review increases exponentially. Traditional peer review systems, which rely on a set number of official reviewers, face scalability issues, often resulting in extended review times and backlogs.

Sci-commons Solution:

  • Open Reviewing System: By allowing any registered user to participate in the review process, Sci-commons drastically increases the number of potential reviewers. This democratization ensures that articles receive timely feedback.

  • Multi-community Submission: Authors can submit their work to multiple communities. This not only disperses the reviewing load but also allows for parallel reviews, hastening the review process.

2. Bias and Fear in Reviews

Background:

Bias is a pervasive issue in the review process. Reviewers, when known, may consciously or subconsciously favor or oppose certain authors or institutions. Additionally, reviewers might hold back constructive criticism due to fear of potential repercussions in professional networks.

Sci-commons Solution:

  • Anonymous Reviewing: Assigning random handles to reviewers allows for complete anonymity. This feature ensures that reviews are based solely on the content and quality of the work, free from personal prejudices or fear of backlash.

  • Randomized Assignment of Official Reviewers: To further remove any potential biases, the assignment of official reviewers and moderators is randomized. This minimizes the chance of prior associations influencing the review outcome.

3. Ensuring Quality in Open Reviews

Background:

While open reviewing can address scalability issues, it also poses a challenge: ensuring the quality and relevance of reviews. With more individuals reviewing, there's potential for variability in feedback quality.

Sci-commons Solution:

  • Reputation-Based System: Reviewers are rated based on community reactions to their reviews. This gamified approach encourages reviewers to provide high-quality, relevant feedback, as their reputation on the platform depends on it.

  • Community Rating of Reviews: The community has the power to rate individual reviews. This crowdsourced quality check ensures that subpar or irrelevant reviews get flagged, maintaining the overall standard of feedback.

4. Handling Diverse Perspectives

Background:

With open reviewing, articles receive feedback from a variety of individuals, each bringing their own perspective. This diversity can be overwhelming for authors trying to reconcile conflicting feedback.

Sci-commons Solution:

  • Article-specific Chat Page: This provides a forum for reviewers and authors to discuss diverse feedback. It facilitates understanding and consensus-building, turning potential conflicts into constructive dialogues.

  • Moderator Involvement: In cases of starkly contrasting reviews, moderators (assigned randomly) can step in to provide clarity or suggest revisions, ensuring that authors receive actionable feedback.

Future Work

  • Facilitate randomly choosen reviewers to accept/reject the reviewal of article
  • Add more features into community creation
  • Add more flexibility for each community providing seperate features for each community
  • Enchancing UI portion of website.
  • Implementation of AI to suggest relevant communities for article submission.
  • Integration with ORCID or Google Scholar to authenticate research scholars.
  • Developing a mobile application to enhance user accessibility.

I plan to continue contributing more to SciCommons and INCF after GSoC'23 and become an active contributor for the repository.

For me, the last four months have been an incredible learning experience, and I am grateful for everything I've learned. I learnt django rest framework using AWS and Github Actions using REST APIs. The entire experience has really aided my overall development as a developer, and I can confidently state that this has been the most fruitful summer of my life!

Acknowledgments

I would like to express my deepest appreciation to the Google Summer of Code program for creating such an invaluable platform for young developers like myself to grow and contribute.

Special thanks go out to my mentors:

  • Suresh Krishna
  • JB Poline
  • Yohaï-Eliel BERREBY
  • Floris van Vugt
  • Vincent Larivière
  • Björn Brembs

Their guidance, expertise, and patience have been instrumental in shaping the project and my understanding of the domain. Their insights were pivotal in overcoming the challenges we faced.

Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment