[x] Follow the template in "project/timeline.md" file and develop a draft of your timeline
[ ] Ask a mentor (or someone with software engineering experience) to review your gameplan
[ ] Once your timeline is mentor-approved, convert your timeline into issues in your project repo
Use the Final Project Issue Template
[ ] 🚀 Commit your changes to the final-project branch, make a pull request, and merge it
Developing a timeline
Before you start to code, you need to have a overarching plan on how you will build your project. It is completely okay (in fact, probably inevitable), for your plan to change once you start developing, but you still need a place to start.
:question: Where to start
Look back at your checklist and decide where you want to start developing your project. Do you want to start with:
UI of the app/webapp
Azure function
API implementation
The best approach recommended by our mentors is to "start small then build big." If you're really unsure, ask your mentor!
🥧 Break it down
The worst part of any task is not knowing when it's going to end. When you're developing your own timeline, make sure that each task doesn't take you more than 1-2 hours. The recommendation is to have tasks that can individually be completed in less than 25mins.
In reality, they might end up taking more time (especially with debugging involved) but try your best to estimate.
⏰ Scheduling deadlines
Speak with your mentor to make sure you can develop your timeline to maximize your timeline.
Keep in mind that there will be many times when you might not be able to meet your own deadlines. How will you deal with this? Do you have enough buffer time allotted in your timeline for when things don't go according to plan?
Sometimes you might become lucky and end up having extra time on your hands.
How do you plan on maximizing the impact of this time so you can ship the best version of your project at the end?
Be clearn on how to manage your own time and hold yourself accountable! Ask your peers and friends for help if you need it.
📢 Getting feedback
Your mentor knows best! They are professionals who have been working in the tech industry on projects much more complex and that have covered all sorts of timelines and team sizes. Get their feedback on your plan and see if they have any recommendations on how you can build your project more efficiently.
🔄 Converting tasks into issues
Once your timeline is ready to go, task each individual task and create an issue for it. If you really want to go the extra mile, you can try to use the Projects feature on GitHub.
As issue is like a task that you need to work on for your code. Here are some examples:
Develop function to store image in database
Convert image to base64
Fix bug on like 29 in Azure function
Document function send_tweets() in file app.js
:exclamation: How do I create a new issue?
1. At the top menu, click on Issues.
2. Click on the green button that called "New Issue"
3. In the title, write a brief description of what needs to be done (look at the list above)
4. Within the issue (where it says `Write a comment`) write down more details (checklist) of what needs to be completed for this issue to be done
5. Click on the green "Submit new isuse" button
:exclamation: How should I format my issue?
When you're planning, it's good to have an idea of how you want to execute these issues. Below is an example of an issue template (in markdown) that you can use to organize your issues.
```
### [Task Name]:
#### Description
- [Replace with description]
#### ETA:
> How long do you think it will take to complete this?
- [Replace with eta]
#### Objective:
> Checklist of everything you need to do to complete this issue
- [ ] [Replace with small task 1]
- [ ] [Replace with small task 2]
- [ ] [Replace with small task 3]
```
Final Project Step 4 ⬤⬤⬤⬤◯◯ | 🕐 Estimated completion: 25 minutes
Timeline
✅ Task:
final-project
branch, make a pull request, and merge itDeveloping a timeline
Before you start to code, you need to have a overarching plan on how you will build your project. It is completely okay (in fact, probably inevitable), for your plan to change once you start developing, but you still need a place to start.
:question: Where to start
Look back at your checklist and decide where you want to start developing your project. Do you want to start with:
The best approach recommended by our mentors is to "start small then build big." If you're really unsure, ask your mentor!
🥧 Break it down
The worst part of any task is not knowing when it's going to end. When you're developing your own timeline, make sure that each task doesn't take you more than 1-2 hours. The recommendation is to have tasks that can individually be completed in less than 25mins.
In reality, they might end up taking more time (especially with debugging involved) but try your best to estimate.
⏰ Scheduling deadlines
Speak with your mentor to make sure you can develop your timeline to maximize your timeline.
Sometimes you might become lucky and end up having extra time on your hands.
Be clearn on how to manage your own time and hold yourself accountable! Ask your peers and friends for help if you need it.
📢 Getting feedback
Your mentor knows best! They are professionals who have been working in the tech industry on projects much more complex and that have covered all sorts of timelines and team sizes. Get their feedback on your plan and see if they have any recommendations on how you can build your project more efficiently.
🔄 Converting tasks into issues
Once your timeline is ready to go, task each individual task and create an issue for it. If you really want to go the extra mile, you can try to use the Projects feature on GitHub.
As issue is like a task that you need to work on for your code. Here are some examples:
:exclamation: How do I create a new issue?
1. At the top menu, click on Issues. 2. Click on the green button that called "New Issue" 3. In the title, write a brief description of what needs to be done (look at the list above) 4. Within the issue (where it says `Write a comment`) write down more details (checklist) of what needs to be completed for this issue to be done 5. Click on the green "Submit new isuse" button:exclamation: How should I format my issue?
When you're planning, it's good to have an idea of how you want to execute these issues. Below is an example of an issue template (in markdown) that you can use to organize your issues. ``` ### [Task Name]: #### Description - [Replace with description] #### ETA: > How long do you think it will take to complete this? - [Replace with eta] #### Objective: > Checklist of everything you need to do to complete this issue - [ ] [Replace with small task 1] - [ ] [Replace with small task 2] - [ ] [Replace with small task 3] ```