What are we building
You know how it feels when you’re trying to fall asleep, but all efforts are futile? You’ve got old conversations and lost arguments looping back through your head. Maybe you’re reliving the lost debate with your roommate over ho’s responsible for the dishes that have been piled up in your sink the past month. Or maybe you’re still thinking about the job interview where you couldn’t think of an adjective better than “cool” when asked what you thought of the company’s product.
In the moment when I needed that “perfect word,” the one that could have crowned me the victor of the debate or gotten me the job, it eluded me, but now I’m tossing and turning, a slur of ideal phrases are flooding my brain.
This is a weak memory problem. Remember the days people used to maintain a fancy ‘vocabulary’ journal neatly jotting down words, its meaning, and usage in amusing colors and fonts with their favorite pens. Now we have all sort of websites and apps to maintain an online vocabulary journal.
The problem doesn’t stop there however. After installing and using the ‘best rated’ vocabulary app for the first time, I would again forget about the app and hardly remember to open it. I need to be regularly reminded about reviewing my words. Again, there are apps that would send you push notifications for ‘word of the day’, but I want to be reminded about not just any random word but rather the words that I want to remember specifically for my next presentation and have noted down in my vocabulary collection.
So, let’s build a simple vocabulary app to fix this issue. We would build an app that would allow us to note down the words that we want to remember and push notifications to our cell phones to remind us about the words we have added to the app.
Our simple App would allow us to:
- Maintain a simple vocabulary with a collection/list of words.
- The app would allow us to add, view, edit and delete the words in our simple vocabulary collection
- The app would send push notifications twice daily showing any randomly picked word from your vocabulary collection with its meaning to your cell phone.
- In a later version, we would add a feature to upload an image with each word that would help building a visual memory of the word.
Naming specifications
Before we start, let’s finalize the naming specifications for the app resources for easy reference later. As our app is about noting down the words that we would to be reminded, let’s call it noteWordy.
- App Name: 𝚗𝚘𝚝𝚎𝚆𝚘𝚛𝚍𝚢
- Serverless project name: 𝚗𝚘𝚝𝚎𝚆𝚘𝚛𝚍𝚢-𝚊𝚙𝚒
- DynamoDB Table name: 𝚟𝚘𝚌𝚊𝚋𝚆𝚘𝚛𝚍𝚜
- AWS Cognito Identity Pool name: 𝚗𝚘𝚝𝚎𝚆𝚘𝚛𝚍𝚢𝙸𝚍𝚎𝚗𝚝𝚒𝚝𝚢𝙿𝚘𝚘𝚕
- Google Firebase Project: 𝚗𝚘𝚝𝚎𝚆𝚘𝚛𝚍𝚢
- Google iOS/Android project names: 𝚗𝚘𝚝𝚎𝚆𝚘𝚛𝚍𝚢-𝚒𝙾𝚂, 𝚗𝚘𝚝𝚎𝚆𝚘𝚛𝚍𝚢-𝚊𝚗𝚍𝚛𝚘𝚒𝚍
- iOS Bundle Id: 𝚌𝚘𝚖.𝚓𝚜𝚒𝚏𝚒𝚎𝚍𝚋𝚛𝚊𝚒𝚗𝚜.𝚗𝚘𝚝𝚎𝚠𝚘𝚛𝚍𝚢
- Android App Id: 𝚌𝚘𝚖.𝚓𝚜𝚒𝚏𝚒𝚎𝚍𝚋𝚛𝚊𝚒𝚗𝚜.𝚗𝚘𝚝𝚎𝚠𝚘𝚛𝚍𝚢
- React-Native(RN) project name: 𝚗𝚘𝚝𝚎𝚆𝚘𝚛𝚍𝚢-𝚞𝚒-𝚛𝚗
Cool (👈 there again, you see the point), now that we have a clear picture of what we are going to build, let’s get started with creating an AWS account as the first step.