This website uses cookies to improve your user experience. By continuing to use this website you consent to its use.

Remember
ToDo!

Remember ToDo! is a TS React app built for storing information or things you want to do in the future. I built this project from scratch with React, GraphQl, MongoDB, Express and Material UI all in TypeScript.

This SPA required a lot of time and deep research to implement. It is my first true deep dive in to a full stack application. It is hosted on Vercel (client) and Heroku (server). I hope you may find it useful to you as much as my family and friends did... They loved it!

Type

Personal

Stack

TypeScript
React
GraphQL/Apollo
MaterialUI
MongoDB/Mongoose
Express
Heroku
Vercel
RememberTodo

Project Purpose and Goal.

This project included 4 phases and iterations of the site. Phase 1 simply creating the front-end UI structure and elements with and storing the todos created within memory. Phase 2 was much larger as it involved storing the user information within local storage and extending it to allow for user sign ups and sign ins.

Phase 3 was storing the data and processing it on a local server and allowing for the frontend to consume the data from the locally created API. Phase 4 and most difficult was establishing a completely online service where the backend of the app is hosted on Heroku and the frontend on Vercel then connecting the two for a convenient and quick user experience.

Stack and Explanation

Using CRA (Create React App) seemed like the clearest choice for this web app. As it is an SPA that utilizes graphQL/Apollo to connect to a hosted MongoDB database. Typescript was chosen for its ability to give the project type-safety.

React hooks, custom hooks, local storage, graphQL and mongooseJS safety features were used throughout the app to maintain a smooth user experience. This allowed for a more robust design. In the future there will be unit test implementations to further push the scope robustness on this app. The apps backend was deployed on Heroku allowing for continuous redeploys and updates. The frontend is hosted on Vercel for it's simplicity, speed and reliability.

Project

Problems and Though Process

Like most projects, I ran into a few bumps whilst implementing this app, one particular issue was ensuring code readability and ease of access for user.

After learning more and more about my issues within this app I have grown incredibly, and understood not only my perspective but others as well. I have made a bigger effort to ensure my code is more readable and reusable and utilized props and state in many places reducing repeated code.

Lessons Learned

There are so many many things I have learnt doing this app, it is my first big react app. I struggled a great deal with many new concepts but I did it because I am fascinated with creating unique things that others can use and provide value for them.

Concepts like Hooks, Git management, API construction and integration and many more pushed me to research and test through night and day. I have learnt many important lessons and they will push me to be a better engineer.