Because Why Not?
The Todo App is a real-world project. It is live right now at thetodoapp.com, and, at least for the time being, this is the main repo. What this means is that the code is in a constant state of evolution and therefore may be different to what is covered in the course.
The tutorials in the course were intended to be followed along, and to shed light on how ideas move from birth to something tangible and real. Cloning this repo may still be useful, and indeed, comparing the course code (as a result of you following along) with the current state might indeed be a very fruitful learning experience.
Following the tutorial exactly will still work and get you to the stage reached in the last video. The concepts learned are also not going away. But most likely, the way you want to use this repo is as a reference. With every update, new feature, and bug fix, the code will look less and less like the code in the tutorial. This is not something that can be helped; it's the nature of development.
- Clone or download the repo into a fresh folder on your machine.
- Run
npm install
from the project root. - Run
npm install
from the functions directory root. - Add your own Firebase project keys to the
firebaseConfig
object inenvironments.ts
andenvironments.prod.ts
. (This is covered in the course videos.) - Go!
Whether you've followed the course videos and have your own code base or have cloned this repo, what follows is some things you can try implementing on your own. This will allow you to not just to advance your skill but put your own stamp on the project.
- A subscription service that enables more fine-grained notifications, personalisation, categorisation, more detailed logging, and so on.
- Offer Freemium and Premium, or trial-based subscriptions. The way to do this is with Stripe (a slew of more features; steeper learning curve; incredible team) or PayPal (much less going on; easier to implement; bureaucratic).
- Integrate some AI API such Alexa or Cortana.
- Improve the signup experience.
- Personalised notifications.
- 10x the design.
- Use Ionic's brilliant Capacitor to convert the code base to native applications for Desktop, Android and iOS.
- Personalised themes.
- Integrate commonly used calendars like Google Calendar or the native iOS Calendar.
- A white screen on first run might mean you haven't added Firebase keys to the
firebaseConfig
of theenvironments
file(s). You can find these in the Add App feature in the Firebase Console. - If you've updated the dependencies and are running into problems, delete
node_modules
and replace your localpackage-lock.json
with the one included in the repo. Then runnpm install
and try again.