===Profile Information
**Name:** Palak Thapar
**IRC nickname:** palak199
**Location:** India
**Typical working hours:** 1700hrs- 0100hrs IST
=====**Web Profile**
**Wordpress:** https://codingtrickster.wordpress.com/
===Synopsis
**Short summary describing your project and how it will benefit Wikimedia projects
**The current tool- tendril is only used to read from the mariadb instances. All the create, update and delete operations have to be performed on the database using SQL.
Therefore, there is a need for a web dashboard which can help perform all the CRUD(Create, Read, Update and Delete) operations from the zarcillo database.
Additionally, to ease the process of querying from external services there is a need of developing APIs
The web dashboard would be developed with the following technologies:
1. Django framework
2. Mariadb
3. React
**The immediate use cases of this project would be:**
1. Hassle free and quick overview of the database
2. Less error prone and easier edits to database
**Possible Mentor(s)**
Jaime Crespo and Manuel Arostegui
**Have you contacted your mentors already?**
Yes, I have been in contact with the mentors and have updated them about my project ideas
===Deliverables
**Describe the timeline of your work with deadlines and milestones, broken down week by week. Make sure to include time you are planning to allocate for investigation, coding, deploying, testing and documentation**
I plan to follow the agile software development lifecycle methodology throughout. Based on that I’ ll be taking one operation in one sprint, get its feedback, improve upon it before moving to next.
| Week | Date | Tasks planned | Deliverables |
|-------------------------- |-------------------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| community bonding period | 18 May - 6 June | **CONCEPT AND INCEPTION PHASE** - Get to know about the typical workflow of Wikimedia<br>- Present the planned mockups and architecture of the web app and get feedback on it<br>- Finalise upon the features and set their priority accordingly<br>- Develop a deep understanding about zarcillo db | - Mockup of the web app<br>- Final db design based on existing zarcillo db with improvements (if any)<br>- Blogs about the app and my experience |
| Week 1 & 2 | 7- 20 June | **SETUP THE PROJECT**<br>- Setup Django-react app<br>- Develop React based frontend | front end of the app |
| Week 3 | 21- 24 June | **ITERATION PHASE**<br>- Write blog about week1 and 2<br>- Get feedback on UI and make improvements accordingly | - Improved frontend<br>- Blog |
| | 25- 27 June | **DATABASE MODELS**<br>- Connect to database<br>- Make models with primary keys, foreign keys and indexes | - Models of the database<br>- Add some dummy data from django admin panel |
| Week 4 | 28- 2 July | **READ OPERATION**<br>- Develop Read operation<br>- Add pagination | - Data read and browse feature in the dashboard<br>- Read with mock data |
| | 3- 4 July |**ITERATION PHASE** <br>- Write blog about Week 3 and 4<br>- Get feedback on database and read operations and make improvements accordingly | - Blog<br>- Improved read operation |
| Week 5 | 5 July- 9 July | **WRITE OPERATION**<br>- Develop a modal based form<br>- Display success/failure message <br>- Write tests for the work done till then | Data write to the db from the dashboard Tests |
| | 10- 11July | **ITERATION PHASE**<br>- Get the feedback and make necessary improvements<br>- Write documentation | Improved version to be submitted for first phase of evaluation |
| Week 6 | 12 -16 July | **EVALUATION** | |
| | 12- 18 July | **EDIT AND DELETE OPERATION**<br>- Develop the Edit and Delete feature<br/><br>- For the edit operation a modal with form will open up pre populated with existing values<br>- Alert the user before deleting<br/><br>- Blog And Documentation<br>- Write blog for week 5 and 6<br>- Document the CRUD operations of web app | Edit and Delete feature on dashboard |
| Week 7 | 19- 22 July | **ITERATION PHASE**<br>- Finish the pending tasks(if any)<br>- Get feedback and improvise | Minimum viable product |
| | 23 - 25 July | **EXTENDED TASKS**<br>- Develop extended features like searching, filter, display sorted results | Additional features on dashboard |
| Week 8 | 26- 28 July | **UNIT TESTS**<br>- Write tests for the web app<br>- Add the extra features to documentation | - Updated documentation<br>- Unit tests |
| | 29 July - 1 August | **BUG FIXING** <br>- Find and resolve bugs in the front end and back end<br>- Blog for week 7 and 8 | - Blog<br>- Updated and improved version of web app |
| Week 9 | 2- 8 August | **APIs FOR EXTERNAL QUERIES**<br>- APIs for external queries<br>- Make them secure<br>- Ensure that the queries to the database are optimized | API links for various operations |
| Week 10 | 9 - 11 August | **ITERATION PHASE**<br>- Seek feedback on APIs Make corresponding improvements | Improved APIs |
| | 12 - 16 August |**TESTING PHASE**<br>- Rigorous testing of the web app and APIs<br>- Write final report<br>- Write blogs and documentation | - Final report<br>- Documentation<br>- Web app<br>- APIs | |
|Final week | 16-23 August | **FINAL SUBMISSION** |- web app<br> -APIs|
|| 23- 30 August |**MENTORS SUBMIT FINAL STUDENT SUBMISSIONS**|-|
|| 31 August | **RESULTS ANNOUNCED**|-|
===Participation
**Describe how you plan to communicate progress and ask for help, where you plan to publish your source code, etc**
- Will be available on Zulip or IRC or google hangouts during working hours
- Will be available on email outside working hours
- Will be writing biweekly blogs on medium documenting the process, my experience and progress made.
- Will be publishing my code on Github
- Every week I’ll be updating the mentors on following:
What I plan to do this week
What I did in the previous week
What is blocking my work
===About Me
Tell us about a few:
**Your education (completed or in progress)**
I am currently in the Pre final year of my under graduation degree in Computer Science and Engineering.
**How did you hear about this program?**
Around two years ago, I came to know about OSS. My college seniors took part in GSoC and this motivated me to
participate and contribute to it.
**Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?**
Devoting a summer to GSoC has been my dream from past year, hence this summer I haven’t planned any vacation. Due to the ongoing situation of Covid, my college conducts classes in online mode with reduced number of hours. The exams shall most probably end in the first week of June. So I can easily devote 40+ hours per week working on the project.
**We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?**
Yes! I am planning to apply to both the programs under wikimedia itself. The projects match my tech skills and interest me to the most.
**What does making this project happen mean to you?**
I’m also passionate about contributing to open source and I’m driven to deliver high-quality work
Having worked on several web development projects, I can assure making this project happen.
My consistency in contributing to open source projects can be guessed from my github profile.
http://github.com/palak199
Besides having strong motivation for technical spheres, I possess strong communication skills which would definitely be required for this project.
===Past Experience
- Describe any relevant projects that you've worked on previously and what knowledge you gained from working on them.
Previously I have worked on following personal projects-
**PlanetCaretakers-** A web app that helps people contribute to sustainable development
Technologies used- Django, SQLite, Bootstrap, ChartJs and IoT. This project was built during NASA spaceapps Challenge and received Global Nomination.
[http://planetcaretakers.pythonanywhere.com/](http://planetcaretakers.pythonanywhere.com/)
Key takeaways-
-- work with strict time boundaries and team work.
-- To host Django based project
**CustomerTracker- **A web app that helps shopkeeper to remotely track sales of various products and also keep track of visitor count
Technologies used- Django, openCV, SQLite
Github repo: [https://github.com/she-coders/Hackathon-1.0/tree/main/she-coders/django-dashboard-corona-dark](https://github.com/she-coders/Hackathon-1.0/tree/main/she-coders/django-dashboard-corona-dark)
**Radio Station-** A webapp to manage activities of Radio station like the events conducted, upcoming events, podcasts etc
Technologies used- Django, MySQL
Github repo:[https://github.com/palak199/FM-website](https://github.com/palak199/FM-website)
Key takeaways-
-- To design a database and implement it for real usage.
**Ristorante-** SPA to manage the booking and show the menu of any restaurant.
Technologies used- React
[https://github.com/palak199/Ristorante](https://github.com/palak199/Ristorante)
Key takeaways
-- The use FLUX architecture to develop SPA
- Describe any open source projects you have contributed to as a user and contributor (include links).
Django based web app [https://github.com/garg3133/JagratiWebApp/](https://github.com/garg3133/JagratiWebApp/)
Laravel React based College web site [https://github.com/TNP-GNDEC/TNP-WEBSITE](https://github.com/TNP-GNDEC/TNP-WEBSITE)
Django based web app [https://github.com/Real-DeviLs/Jeevay-Panjab](https://github.com/Real-DeviLs/Jeevay-Panjab)
Contributions to Creative commons [https://github.com/palak199?tab=overview&from=2020-12-01&to=2020-12-31&org=creativecommons](https://github.com/palak199?tab=overview&from=2020-12-01&to=2020-12-31&org=creativecommons)
- You must have written a feature or bugfix for a Wikimedia project during the application phase (see the section about microtasks in the application process steps), please link to it here. We give strong preference to candidates who have done so.
work on Microtask in progress
https://phabricator.wikimedia.org/T268258
===Any Other Info
Add any other relevant information such as UI mockups, references to related projects, a link to your proof of concept code, etc
WIP