Remote-friendly scrum checkins without the annoying meetings.
An educational student app project originally designed for Learn JavaScript with Eric Elliott.
Create a repository and implement your own Checkin app. Feel free to recruit other people and work in groups (ideally 2 - 7 people). Recruit your team in the JavaScript Questions Chat.
Can't find a team? No problem. Fly solo and keep all the glory.
- Not sure where to start? Try Next.js.
- Favor functional components over class-based components when it makes sense.
- Use pure functions wherever you can. A pure function does not mutate anything outside itself. A pure function does not produce side effects. Given the same inputs, a pure function will always return the same output.
- Notice how much of the program state can be represented as lists of things:
- A list of users.
- A list of teams.
- A list of checkins.
In agile development, we strive to implement the minimum effective amount of process to enable high velocity development.
The scrum meeting is a common element of that minimal process. Its purpose is to allow team members to check in with each other. On each work day, each small team gathers to answer three questions:
- What did you do on the last workday?
- What are you doing today?
- Is there anything blocking you?
Scrum teams should be small, so these meetings should last less than 15 minutes.
But what about distributed teams working in different timezones? And even a 15 minute meeting is still expensive. What if you could get even better visibility without the inefficiency of a meeting?
That's where this app comes in.
Don't worry about anything but getting the user interfaces to work. No need for user authorization, databases, or API's for now. Feel free to make some fake users and fake checkin data.
- Allow a user to create and name teams. Users own the teams they create.
- Allow a user to check in with a specific team and answer each of the three scrum questions.
- View the team status: A simple display of all the team's checkins for today (or any day in the past).
Here's a simple mock-up of the checkin feature. Feel free to improve on the UI:
- Allow a user to join an existing team.
- Store data on a remote server and let other users #.
- Integrate with Github and let users link updates to the current issue they're working on.
- Automate checkin updates by adding assigned project issues from GitHub to the user's status.
- Add realtime capability and update today's checkins view when another user checks in.
- Fork this repo
- Implement your solution.
- Open an issue with a link to your fork.
To get credit, you must open an issue with a link to your fork.