This project is for CS506(Software Engineering) at UW-Madison
02/10/2020 Started out downloading python, pycharm, and mysql. Watched some youtube videos on creating an app with Flask.
02/11/2020 Began working on app with Flask. Made very extensive login/signup screen.
02/12/2020 Added more functionality to login/signup screen. Team member decides we are now using Django instead of Flask. Restart project from scratch using Django. More youtube videos for research.
02/13/2020 Team now decides python might not be best choice and have a debate of which language and libraries we should use. Most votes go for React Native. Meet with team, confirm technology stack as node.js and react native. Begin watching videos for useful extensions on Visual Studio Code, test and install them. Begin doing research on making an app with react native.
02/14/2020 Co-worker talks about firebase. Begin researching what it is and how to use it. Decided I will use this for spike exercise.
02/16/2020 Watch videos on creating an app with react and firebase. Follow expo instructions for starting development. Begin setting up firebase as a database for spike exercise. Created home, login, signup, and loading screens based off videos contents.
02/17/2020 Found builds weren't working because of the wifi connections I had. Was able to buid using tunnel instead of LAN. Pages look pretty decent, but have a good chunk of errors.
02/18/2020 Found problem was due to misspelling and now all four screens work as intended. Began next video in video series on youtube. How to add posts to database and tab navigation.
02/19/2020 Added a bottom tab navigator for each of the pages. They are only blank pages for now, but will have more hopefully later. Working on changing password and username.
02/20/2020 Finished up profile page, user can change name, email, and password. Began looking at how to add data to firebase and retrieve a list of that data to display. Began implementing an add line to create lists in firebase database.
02/21/2020 Set up firebase collections in database. Was able to add classes, goals, and other facts. Tried fixing the automatic update, but ran into more problems. Finally found the problem, with automatically updating the table.
I have always wanted to start learning new languages and libraries especially ones for mobile development, but never got the motivation to do so until now. I have never used react native, node.js, firebase, or expo before so everything was brand new to me. Not only did I have to learn all of that, but since we kept switching technology stacks, I also learned a little bit of Flask and Django for python. Anyway, to start I began setting up extensions for react native and in VS Code. While researching, I found a lot of people recommending expo to start which is basically a starter kit for creating a react native project. Using what expo gave me and following a youtube video, I was able to create a basic login, sign up, loading, and home screen. From there I just began following the technique and patterns I've learned so far to creat the All About Me app. Overall, I thought this was a super fun project that can be used a base for many other projects including the MadDealz project we will be making in class.
https://expo.io/learn - Expo https://www.youtube.com/watch?v=TkuQAjnaSbM&list=PLqtWgQ5BRLPvaAnoiZD8_z2RTh1VYVqN2 – React and Firebase https://firebase.google.com/docs/firestore/quickstart?authuser=0 - Creating Firebase Database