0% found this document useful (0 votes)
11 views14 pages

Causeway Infrastructure Improvement Proposal

Uploaded by

ANJALI TAJANE
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views14 pages

Causeway Infrastructure Improvement Proposal

Uploaded by

ANJALI TAJANE
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Proposal - Google Summer of Code 2024

Causeway / Improving the Core Infrastructure


and Experience
Mentor : David Lee

By
Rishi Mondal
Table of Contents
1. Proposal Title (Page 1)
1.1 Proposal Title (Page 3)
1.2 About Me (Page 3)
2. Introduction
2.1 Problem Definition (Page 4)
2.2 Solution Description (Page 5)
3. Project Goals
3.1 Project Objectives (Page 8)
3.2 Expected Deliverables (Page 8)
3.3 Future Work (Page 8)
4. Implementation Plan
4.1 Project Methodology (Page 9)
4.2 Technical Elements (Page 9)
4.3 Challenges and Solutions (Page 9)
5. Project Timeline
5.1 Project Plan (Page 11)
5.2 Deliverables Schedule (Page 11)
5.3 Availability (Page 12)
6. Biographical Information
6.1 Who am I: About me : (Page 14)
6.2 Important Links (Page 14)
6.3 The experience I possess: Places worked (Page 14)
6.4 Open Source contributions [Important] (Page 16)
6.5 Projects (Page 17)
6.7 Conclusion (Page 19)

2
Introduction :

The Problem regarding Causeway Website :


Certainly, here are the key points:
1) Lack of robust login options :

Absence of login methods such as Google, GitHub, email, and


password.
Hinders user accessibility and convenience.

2) Landing page improvement:

Current landing page lacks engagement and user experience.


Enhancement required to better engage users and provide a
positive experience.

3) Integration of Quizzes after Each Section:


Currently, the platform lacks quizzes after each section, which
could hinder user engagement and knowledge reinforcement.
Implementing quizzes after every section would allow users to
assess their understanding and retention of the material,
fostering a more interactive learning experience and
accommodating users progressing at different speeds.
Integration would encourage user participation and enhance
knowledge retention.

4) Implementation of a progress tracking dashboard:


Missing feature for users to track their learning progress.
Dashboard needed to provide insights into user development
journey.

5) Improvement of user interface (UI):

4
Current UI is not very user-friendly.
Necessary improvements to make the platform more intuitive
and user-friendly.

6) Absence of contact us page and feedback area:


Lack of channels for users to provide feedback or get in touch
with platform administrators.
Important for addressing user inquiries, suggestions, and
concerns effectively.

7) Lack of a demo for new users:


No introductory section or demo available for new users to
familiarize themselves with the platform before logging in.
A demo or introductory section would provide valuable
information about the platform's features, benefits, and
navigation, enhancing the user onboarding experience.

The Solutions are :

Certainly , here are the points :

1) Robust login options:

Implement various login methods such as Google, GitHub,


email/password (PR link) , and passwordless login (PR link)
using Firebase Authentication services.

2) Landing page improvement:

Add an about section to the landing page, providing details


about the website's purpose, exercises available with some
exercise demo, and other relevant information.
Enhance the UI of the landing page to make it more visually
appealing and user-friendly, ensuring a positive first
impression for visitors.

5
3) Integration of Quizzes after Each Section:

Develop a quiz feature within the platform using Firebase


Firestore to store quiz questions and user responses..
Implement functionality to trigger quizzes upon completion
of each section, ensuring users have the opportunity to
reinforce their learning.
Utilize Firebase Cloud Functions to facilitate the scheduling
and release of quizzes after each section, enabling seamless
user engagement and progress tracking.

4) Implementation of a progress tracking dashboard:


Create a user dashboard using Angular Material UI and
display user progress. (Example)

Develop a learning dashboard akin to the homepage of Khan


Academy, providing users with a centralized hub to track
their progress and navigate to learning materials.
Utilize Firebase Cloud Functions to process and analyze user
data, providing insights into learning milestones and
achievements.

6
5) Improvement of user interface (UI):
Expand the existing UI to include walkthroughs for
implementing full applications, based on provided designs.
Redesign the platform's UI to enhance user experience and
usability.

6) Include demo exercise for new users:


Develop an introductory section or demo of the platform to
provide a preview of its features before login.
A demo or introductory section would provide valuable
information about the platform's features, benefits, and
navigation, enhancing the user onboarding experience

7) Implementation of Vercel Bot:


Integrate Vercel Bot to automate deployment processes and
monitor platform performance.
Vercel Bot can be used to preview the pull request in real
time .
Utilize Vercel Bot's capabilities for continuous integration
and delivery to streamline development workflows.
8) Absence of contact us page and feedback area :
Lack of channels for users to provide feedback or get in touch
with platform administrators.
Important for addressing user inquiries, suggestions, and
concerns effectively.

7
Project goals :
Project Objectives and Community Benefits:
The project objectives include enhancing user experience, expanding
learning resources, providing tools for tracking progress, and offering
diverse login methods.
By achieving these objectives, the community will benefit from a more
accessible and effective platform for learning web development skills
Users will have access to a wider range of interactive learning materials,
better tracking of their learning progress, opportunities to test their
understanding through quizzes, and flexible login options to suit their
preferences.

Expected Deliverables :
Revamped user interface with extended component walkthroughs and
interactive examples.
Implementation of a learning dashboard for tracking progress and
navigating learning materials.
Introduction of quizzes to assess user understanding and reinforce
learning objectives.
Integration of diverse login methods such as Google, GitHub,
email/password, and passwordless login

Future Work Based on Project :


Continual refinement and improvement of the platform based on user
feedback and emerging technologies.
Exploration of additional features and enhancements to further enrich the
learning experience.
Collaboration with industry partners to provide real-world project
opportunities and expand learning resources.

8
Implementation plan :
Project Methodology :
To meet the project objectives, we will follow an iterative development
approach, starting with requirements gathering, followed by design,
implementation, testing, and deployment phases.
Currently, if I need any assistance, I connect with Jasmine Tai, a member of
Causeway, through Slack and GitHub. Additionally, I receive reviews of my
pull requests on GitHub.
Regular communication and collaboration with the mentor and community
members will occur through weekly meetings, email updates, Slack, and
forum contributions. Feedback from both the mentor and community will
be sought and integrated iteratively to align with project goals and
community needs.

Technical Elements of the Project:


The project involves frontend and backend development using technologies
such as Angular, RxJS, NgRx, Firebase, and potentially other frameworks
and tools for UI/UX design (Angular Material) and implementation.
Specific technical elements include UI redesign, implementation of
extended component walkthroughs, development of a learning dashboard
and quiz feature, integration of diverse login methods, and documentation
preparation.

Challenges and Proposed Solutions:


Challenge: Implementing extended component walkthroughs and
interactive examples may require significant design and development
effort.
Proposed Solution: Break down the implementation into smaller,
manageable tasks, and leverage existing UI/UX design patterns and
frameworks to streamline development.

9
Challenge: Integrating diverse login methods and ensuring seamless
authentication across different platforms can be complex.
Proposed Solution: Utilize Firebase Authentication services to
handle authentication and leverage their built-in providers for Google,
GitHub, and email/password login. Implement passwordless login using
Firebase's email link authentication method for added flexibility and
security.

Challenge: Developing a learning dashboard and quiz feature that


effectively track user progress and engagement requires careful planning
and implementation.
Proposed Solution: Conduct user research to identify key metrics
and features for the learning dashboard. Use Firebase Firestore and Cloud
Functions to store and analyze user data, and develop intuitive UI
components for displaying progress and quiz results.

By addressing these challenges and implementing the proposed solutions, we aim to


successfully achieve the project objectives and deliver a comprehensive and valuable
learning platform for the community.

10
GSoC Project timeline :
GSoC is approximately a 12-week duration, with about 25 days of
Community Bonding Period in addition.
During the GSoC period:

10% of the time will be spent on fixing the bugs left out in the current version of the
app.
80% of the time will be allocated to adding new features to the App, including
dashboard development.
The remaining 10% of the time will be dedicated to testing the app, preparing Wiki, and
FAQ for the template.

The detailed timeline is linked below:

Time Frame Activity Importance

May 7 - May Initial setup and project familiarization Low


20

May 21 - June Implementing robust login options, Enhancing UI, Developing High
7 quizzes

June 8 - June [EXAM BREAK] -


22

June 23 - July Continuing UI improvements, Implementing progress tracking, High


6 Developing intro section

July 7 - July 20 Expanding UI features, Integrating Vercel Bot, Implementing Medium


contact us and feedback, Dashboard development

July 21 - Bug fixing, Making adjustments, Finalizing documentation High


August 3

11
Time Frame Activity Importance

August 4 - Final testing, Completing tasks, Finalizing documentation High


August 10

Evaluations:

Evaluation Time Frame Importance

Phase 1 Evaluation June 5 - June 7 High

Phase 2 Evaluation August 7 - August 9 High

Legends:
Importance: High (Critical), Medium (Important), Low (Less Critical)
[EXAM BREAK]: Break for semester exams

This timeline accounts for a total of 14 weeks, with a 14-day break from June
8th to June 22nd for semester exams. Adjustments can be made as needed
based on progress and feedback throughout the GSoC period.

12
Avalibilty:
After reviewing the entire GSoC timeline, I can commit to dedicating approximately 40-50
hours per week to the project. However, from June 8th to June 22nd, I will be occupied with
my end-sessional examinations, during which I anticipate allocating around 2-3 hours per day
to GSoC. Following this period, I will be fully devoted to the project and will not have any
other summer internship or job commitments. Additionally, I have no obligations after May
and will dedicate all my time to GSoC.

During the project, I plan to provide daily updates on my progress via scrum emails on the
mailing list. I am committed to being regular and sincere with my updates as I understand the
importance of demonstrating a serious commitment and 100% devotion to the project, which
is essential for selection.

13
Open Source contributions

Organization Contributions

Tech4good-lab : Causeway Added Login and signup with email and password
[Private Repository] with responsive UI and also added other methods
(Link)

Tech4good-lab : Causeway Add Login with Email Only and Email


[Private Repository] Success/Error Pop-ups (Link)

Tech4good-lab : Causeway Added Github Issues and Pull request template


[Private Repository] and also recitified favicon not showing issue.
(Link)

Internet Health Report : Internet of yellow Added RoVista RoV detection


pages (Link)

Internet Health Report : Internet of yellow Decompressed [Link] and changed the urls
pages (Link)

Internet Health Report : route-origin- RIPE RPKI archive format changed


validator (Link)

Internet Health Report : abondance Reduce queries and also added Indentation.
(Link)

Internet Health Report : route-origin- Modifications to the code to generate Json file for
validator the RIPE archive data and added template.
(Link)

Internet Health Report: IYP (Internet Yellow Created IYP (Internet Yellow Pages) Python Library
Pages) Python Library for Internet Health Report organization (Link)

SHANKARA-CODERS : NestONDC Add to the cart feature using firebase


(Link)

16
Conclusion :
In conclusion, if given the opportunity to work with Causeway this summer, I am
committed to giving my utmost effort to ensure the success of the project. Furthermore, I am
eager to extend my collaboration to Causeway's future endeavors beyond the summer
period. With a solid grasp of the codebase and effective communication with the project
maintainers, I am confident that I can contribute meaningfully and efficiently to the project's
objectives.

19

You might also like