Day 31 of #100daysofcode: Redux and The App
Tags: 100daysofcode, react, python, beginners
Published: 2021-12-16 21:51:57

Hey again everybody!

Recently I've found that I have been structuring my work for the day in such a way that will give me a little bit to talk about in the blog posts. This is leading me away from working how I want to so I probably *will not* have a discussion every day.

That said I have a little to say. I missed yesterdays post, so as usual I'll tell you guys what I did work on yesterday and I won't count the day in the count to 100 days! At this rate it will end up being closer to 150 days of code.

## Yesterday
* Advent of Code Day 5
* LeetCode Tree Problems
* Drew out and scrapped a few ideas for how I want my app to look

## The App
It's [been a little while](https://dev.to/rydwhelchel/discussion-on-learning-memorization-reviewing-and-an-app-to-tie-it-all-together-1e3g) since I last discussed this app in any sort of detailed way. I want to quickly go over the main idea of this app, my initial expectations and how I want the app to grow from there. There are many features in this app that I am unsure of how to incorporate, so I will table them for now.

### The Idea
#### Headliner Idea
"To truly learn something, you need to review it every so often after first encountering it"

Very simple idea that I think is easy to brush off. Think of how many times you have learned *about* something, but forgot about it by the time you needed it. This app seeks to ease the process of committing a piece of information to memory.

#### How?
By reminding you to check in with it! 

It does not need to be for often, and you do not need to spend long reviewing to keep it fresh. This app will be seeking to streamline the entire process so that reviewing takes 10 minutes or less.

Every time you review the subject, the window for review increases. This window either caps out at a certain window of time or simply stops after a certain window. 

#### The Flow
This is how I envision the general flow of a reminder working:
1) Learn about something that you want to commit to memory
2) Open The App, add new subject
3) Name it, paste a link or a quick description of the subject in question
4) Save!

The entire process *has* to be streamlined to be useful. There are default time periods for reminders, so you do not need to modify anything related to dates, the only important information you provide at event creation is the title and relevant information you need to study the subject.

### Plans for First Sketch (Sprint? Version?)
The "First Sketch" of the app is going to be fairly barebones. I am going to refrain from any sort of notifications at first and, depending on tooling, I may even refrain from adding a calendar to start.

I think at first I will simply list the reminders in order of date. This date will be the "next reminder" date, and you will be able to postpone "next reminder" or be able to complete it early, which sets the event to the next window of time.

## Today
* More LeetCode Tree problems!
* Advent Code days 6!
* Spent a lot of time with Redux tutorials. Started sandboxing a little more with state.
* Further thoughts on and planning for the Study Aid app.

## Upcoming
* Continued Leetcode practice, FreeCodeCamp progress and Advent of Code
* ***CONTINUED* Sandboxing with Redux**
* Begin the Study Aid app!
* Might return to a little Functional Programming discussion
* Later in the challenge: **Possible Android app version of Study Aid app**, AWS Deployment, AWS Certification, and Using Docker!?

### Resources
[JS Course - FreeCodeCamp](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/)
[Redux Essentials](https://redux.js.org/tutorials/essentials/part-1-overview-concepts)
[Redux Fundamentals](https://redux.js.org/tutorials/fundamentals/part-1-overview)
[Redux FAQ](https://redux.js.org/faq)
[Advent of Code](https://adventofcode.com/)