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

[C4GT] Create different serializers for list and detail views #5492

Open
25 tasks
rithviknishad opened this issue May 19, 2023 · 15 comments
Open
25 tasks

[C4GT] Create different serializers for list and detail views #5492

rithviknishad opened this issue May 19, 2023 · 15 comments
Labels

Comments

@rithviknishad
Copy link
Member

rithviknishad commented May 19, 2023

Project Detail

CARE is a centralized capacity management and patient management system, central to the 10BedICU Project, integrating patients, doctors, hospitals, labs, specialized treatment centers, hospital administrators, and shifting control cells. Hospitals update crucial information about their assets, providing district administration with a comprehensive view of the healthcare system via smart dashboards. CARE digitizes patient records, streamlines workflows for pandemic management, and is deployed in remote areas, enabling TeleICU services for underserved citizens. It revolutionizes healthcare management, enhancing efficiency, accessibility, and patient outcomes.

Features To Be Implemented

The goal of this project is to make different serializers for list and detail views, to minimise joins and only send required data for the front end. Create separate PRs for each view set so that it is easier to review.

Learning Path

Details
Complexity Medium
Required Skills Django, Django Rest Framework, Python
Mentors @vigneshhari , @khavinshankar , @rithviknishad , @gigincg
Project Size 8 weeks

Product Set-up

To set up the project on a system, follow these guidelines:

For more details, please refer to the readme file available at: https://github.com/coronasafe/care

Acceptance Criteria

  • All API Viewsets that has List and Detail views has dedicated List and Detail serializer.
  • Code is logically structured for long-term project sustainability.
  • Proper descriptions should be included for review purposes.
  • QA and Code Review

Milestone

  • Understand the workflow of CARE in the front end, which attributes are required and not required.
  • Develop dedicated list and detail serializers for list and detail views to minimise joins as per requirements in the front end.
  • QA and Code Review

Tasks

Each of the below files contains one or more Model Serializers that has to be converted to its dedicated list and detail serializers.
Create separate pull requests for each of these issues so that it is easier and faster to review and also easier to resolve merge conflicts.

@danishraza0912
Copy link

danishraza0912 commented May 21, 2023

Hey, I want to contribute to this project. I have initially worked with
Python and Django. Can you please elaborate more on the problem idea??

@rithviknishad
Copy link
Member Author

Hey @devanshkaushik

So if you take a look at our backend, you can see that all the serializers are present at: care/<module_name>/api/serializers/<model_name>.py (for example, see facility module: https://github.com/coronasafe/care/tree/master/care/facility/api/serializers).

I've updated the original issue comment to track all the sub-tasks. Each file specified in the task contains one or more serializers that inherit ModelSerializer, which has to be split to separate <ModelName>ListSerializer and <ModelName>DetailSerializer so as to minimize joins. Each of these specific serializers should serialize information that is required by/used in the front end.

You may have a look at our front end and understand which all fields are required, and keep only those information in the List Serializer. DetailSerializer can inherit the list serializer and include all other information.

@lord2anil
Copy link

Hello, sir my self anil rundla Btech 3rd year student at IIT PATNA. I want to submit a proposal for this project, i am familiar with Python, Django, HTML, and CSS, and I am also selected in Gsoc'23, also my tack stack in Gsoc'23 is Python, Django,I did an internship as a web developer. You can check my Gsoc'23 project here https://summerofcode.withgoogle.com/programs/2023/projects/W2YKA7jL . Can you please suggest to me some good first issues related to this ??

@lokeshmahajan5656
Copy link

Hello sir I am Lokesh Mahajan I am very interested to contribute in this project as I have initially work on Python and Django framework.

@vissuresh
Copy link

Hello sir.
I'm a 3rd year CSE undergrad from Chennai. I have experience in building web-apps using Django and Flask. I'm very good in Python. Also recently I was working on building APIs using Django Rest Framework (DRF), to build APIs for a Cafe Application.

I would be very much thrilled to contribute to the project in any way possible. Also, can you please mention some good-first-issues, or where can I find them?

@rithviknishad
Copy link
Member Author

@Basharat908
Copy link

@rithviknishad,

I hope you're doing well. I'm interested in contributing to this open-source project and would appreciate your guidance and assistance in getting started.

  1. I would like to know if there are any specific areas or tasks in the project that require assistance. Could you please provide some information on how I can contribute and make a meaningful impact?

  2. Additionally, I would like to request access to the frontend codebase or any relevant resources. This will help me better understand the project structure. Could you please provide me with the frontend code link or any instructions to access it?

Thank you for your time and support. I'm excited to contribute to the project and learn from the community.

Best regards,
Basharat Mir
Software Engineer at TripAI

@rithviknishad
Copy link
Member Author

Hey @Basharat908

  1. Feel free to take up good first issues linked above ☝🏼 and make PRs for the same to familiarise yourself with the codebase.
  2. This itself is the front-end codebase/repo. For the backend, refer the links specified above ☝🏼

@cosmoimai
Copy link

Hi @rithviknishad, I am Abhishek Bhaware I am interested in contributing to the open-source project under your guidance

@ishanki19-pixel
Copy link

Hey @rithviknishad ,
I am a 3rd year undergrad pursing B.Tech in Computer Science and Engineering.
I have been practising my skills of django and python since last months and want to contribute this project.
Kindly assist me how can I start with, as I am a newbie in open source-contribution but I am highly enthusiastic in starting my contribution journey with this project.

@dasanivishu
Copy link

Hey @rithviknishad @vigneshhari, I am particularly intrigued by the CARE project and its objectives in revolutionizing healthcare management. The specific goal mentioned in the issue is to create different serializers for list and detail views to minimize joins and only send the required data to the front end. I find this approach fascinating as it optimizes performance and enhances the user experience by reducing unnecessary data retrieval.

I would be grateful if you could provide me with more details regarding the specific tasks involved in implementing this feature. Could you please explain the process of identifying the view sets that require separate serializers for list and detail views? Additionally, it would be helpful to understand the steps involved in creating the list and detail serializers, as well as integrating them into the existing codebase.

Thank you in advance for your support. I look forward to hearing from you soon.
Best Regards
Vishal Dasani

@sarthakjoshi2003
Copy link

Goodevening @rithviknishad @VighneshHari ,
My name is Sarthak joshi . I am a student of computer science and data science @ acropolis Institute of technology and Research. I carefully read the CARE project and analysed what are the requirements mentioned. I align with this project ,as I have worked with an startup Eve health care limited which is gudgaon based startup working for establishing smart clinics for automation of different day to day tasks that take place in a clinic. We at eve worked with django REST framework and were able to make views that proved out for the ease to the people and doctor visiting to the clinics. Also I have experience working with django on live projects.
I am interested to work on this project I would be highly greatful if I can get an opportunity to work with your team for this project.
Thankyou
Regards
Sarthak Joshi

@pratham534
Copy link

Hello @rithviknishad sir,
I have read the complete issue and found it interesting to work on. I have been learning Python, Django, and Django REST Framework. Recently I also created a basic REST API using DRF for an e-commerce website while practicing and I would like to learn more by contributing to this project. I also am new to open-source contributions and would like to begin my journey under your guidance and support.
I will be grateful if you provide me with an opportunity to be a part of your team and solve many such issues in coming future.
Thanks

@akshatvermavi
Copy link

Hello @rithviknishad @vigneshhari @khavinshankar @gigincg sir,
I am Akshat Verma a 2nd year undergrad persuing B.tech from NIT Allahabad, I have read this issue and found that I can able to solve the problem via working on it I am quite familiar with the Tech Stack Like Django, Python, Django Rest Framework. I had also contributed in Django Software foundation in Gsoc'23 and I made many Project on Django as framework. Recently I was working on building APIs using Django Rest Framework (DRF), to build APIs for project in Cyber security.
I would be quite grateful to all mentors if you provide me the opportunity to be the part of your team and solve many such issues in this project.
Thanks and regard,
Akshat Verma
Motilal Nehru National Institute of Technology
[email protected]

@gigincg
Copy link
Member

gigincg commented Oct 14, 2024

Blocking this Issue since @vigneshhari mentioned many of the serializers are planned to be redone in the near future with HMIS Changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Up Next