Application Template
This is just a suggested template, feel free to add and remove sections as appropriate. Be brief, don’t write a large essay!
The Proposal
This is not a definitive guide, but will guide you in starting your first draft.
Title
State the name of the project idea you are working on. This helps us to classify your proposed work plan.
About Me
What relevant experience have you got, including university, work and hobby activities?
- Include a copy of your GitHub profile avatar icon to help us identify you easier. No more than 48px by 48px, the same size as seen in issue and pull request comments.
Executive Summary
No more than a page outlining what your proposal is about, the challenges it will overcome and the benefits to the Talawa user and / or GitHub community.
Background
What exists already? What is the identified need? What can you reuse, what needs to he replaced?
Example: Palisadoes Foo has already got support for HTTP client requests, but this does not work well with OAuth-based services. The main interface for requests can be reused, but this project proposes to replace the backend code with a modular approach based on Palisadoes Bar.
Design and Description of Work
Brief list of things you will do / create, in some rough chronological order.
Show which bits are essential, and which are optional. Highlight what is new, what are modifications, and how your work fits into the existing architecture.
Example:
- Investigate REST client libraries
- Develop JavaScript functions for browsing files (optional)
- Integrate with Palisadoes Foo’s request system (essential)
It is not sufficient to just provide a list of general tasks. Priority will be given to proposals that:
- Evaluate the pros and cons of alternative solutions
- Illustrate key concerns and concepts of the idea with pseudocode, diagrams or other means
- Consider the long term implications of the proposal such as:
- The degree of disruption to be implemented
- The hidden costs in terms of money, latency, complexity, intuitiveness, support, obsolescence mitigation and more
- The maturity of suggested libraries to be used
- When in doubt, make sure your design answers these basic questions for all the stakeholders and technical solutions:
- Who?
- When?
- Where?
- Why?
- What? - Very important
- How? - Very, very important
Results for the Palisadoes Community
Benefit of your work to Palisadoes $Project users and developers. What will be the legacy of your work after you finish?
Deliverables
Including:
- Milestones,
- Components,
- Documentation,
- Tests.
Scheduling
Not too detailed, but some milestones and checkpoints. Rough estimates per work item (weeks/days). Remember to leave time for slack and bug fixing!
Other Commitments
Let us know when you won't be available:
- Exams
- Part-time work
- Holidays
- Lectures.
Include any other causes of absence we should know about.
Community Engagement
In particular with Palisadoes $Project, including project mailing lists, wikis, issue trackers, test systems.
This should show a rough understanding of working with open source communities. You should be engaged with the rest of the community both before coding start (e.g. to develop this proposal) and during the project.
Include any planned user testing, prototypes, code review.