Journal

4/28/23 (Client Meeting)

  • Showed Justin demo of the application.
  • Spoke with Justin about using this on our resumes and modifying project in the future if we want.

4/27/23 (Coach Meeting)

  • Discussed recent additions to application.
  • Discussed rest of assignments due (hand-in summary, finish up client handoff plan).

4/25/23 (Team Meeting)

  • Touched up on the final presentation slides.
  • Modified application so that you are able to select a subreddit of your choosing that displays information.
  • Added graph component which displays overall pulse change overtime.
  • Fixed up UI.
  • Need to find a way to deploy application.

4/23/23 (Team Meeting)

  • Finished up adding database and routing post pages to /post route.
  • Worked on completing final presentation.

4/20/23 (Coach Meeting)

  • Discussed finishing up documentation and client handoff plan.
  • Discussed tasks that we need to finish for final project presentation (implement database, make clickable posts that redirect to /post route).

4/21/23 (Team Meeting)

  • Worked on adding Firebase stuff – tried to add posts into database whenever we fetch for posts.

4/13/23 (Coach Meeting)

  • Showed updated demo.
  • Talked about NLP library, currently using transformers but if we need to can switch to a more accurate library.
  • Completed the core part of our project, all we need to do is add search function, as well as details about each post when you click on them (post, author, upvotes, score).
  • Add posts into database.
  • Work on hand-off plan and user manual (make sure that we include how we calculate the overall pulse).

4/09/23 (Team Meeting)

  • Worked on Tech Talk powerpoint.

4/08/23 (Team Meeting)

  • Met and discussed plan for tech talk, split into four sections:
    • Overview: Matt
    • Features: Spencer
    • Tutorial: Stephan
    • Recap / Q&A: Aro
  • Decided that we might need to switch to NLTK library instead of using transformers library, might provide more accurate sentiment.
  • Need to put data into Firebase, utilize it for search bar.
  • Also need to add pytest for certain functions.
  • Switch up how posts are placed in topics of concern, might have it so that the top 4-5 negative posts in database are featured.

4/02/23 (Team Meeting)

  • Worked on test plan, utilizing pytest and FastAPI testing.
  • Discussed plan to start organizing FastAPI tech talk with tutorial.

3/31/23 (Team Meeting)

  • Tried cloning Aro’s code and having application run.
  • Discussed needing to transfer fetched posts to database and adding posts starting from a set date.
  • Discussed needing to find another NLP library, since current transformers library is having issues and does not support as many tokens (for actual post and for comments under post to gauge sentiment).
  • Planned on adding search bar that would look for past posts / users.

3/30/23 (Coach Meeting)

  • Aro showed demo of basic application working and displaying fetched posts on frontend.
  • Talked about possibly using OpenAI API to get sentiment analysis.
  • Discussed using pytest for test plan.
  • Talked about setting up presentation framework for FastAPI tech talk.

3/24/23 (Team Meeting)

  • Met and discussed what we talked about during coach meeting.
  • Decided we need to implement FastAPI to connect the fetched data to the frontend.
  • Talked about needing to start researching on FastAPI and start presentation prep, as well as completing APPLES Reflection 1.
  • Aro provided ownership for us to use Firebase used in project.

3/23/23 (Coach Meeting)

  • Showed updated code with UI, Firebase initialization and fetching Reddit data.
  • Discussed needing to hide login information for Reddit account.
  • Discussed having to plan for tech talk and completing APPLES Reflection 1.
  • Need to focus on specific requirements that will be completed first.
  • Discussed connecting data to database.

3/19/23 (Team Meeting)

  • Discussed updated repo with UI and Firebase initialization.
  • Discussed adding in FastAPI, also with learning about switching from React.js to Next.js if needed.
  • Talked about tech talk idea, concluded on presenting FastAPI.

3/10/23 (Team Meeting)

  • Started with splitting up tasks, also decided on using Firebase for database.
    • Matt – UI / frontend
    • Aro – database
    • Stephan – backend / API
    • Spencer – frontend
  • Aro showed how Firebase works and how we could start with looking at documentation for it.
  • Decided to create 4 separate branches for each team member, Matt will pull / merge requests to main branch.
  • Discussed plan for deciding on tech talk idea, will research different topics / articles and send poll in group chat to decide on what to research further.

3/09/23 (Coach Meeting)

  • Looked over Reddit API fetching and debugged.
  • Discussed virtual environments, talked about installing pyenv.
  • Discussed splitting up tasks for coding.
  • Showed on GitHub how we can access a project management tool similar to Trello, with To-Do’s and Completed sections.
  • Need to discuss during team meeting how we can evenly split up tasks and focus on re-strategize the requirements, getting the easiest done first and then focus on the requirements that need frontend, backend, and database.

3/02/23 (Team Meeting)

  • Recapped coach meeting, sticking with NLTK library.
  • Discussed possible database switching, from DynamoDB and AWS to Firebase (since team is more familiar with Firebase).
  • Split roles for first portion of project, where 2 people will work on web UI and API, and 2 people will work on database and back-end. Also discussed that back-end and database will need to be developed first.
  • Discussed ethics assignment due this weekend, Aro will work on assignment.

3/02/23 (Coach Meeting)

  • Showed NLTK demo with tokenized sentence and using sentiment intensity analyzer.
  • Discussed how midterm presentation went, and talked about drawbacks of using NLTK (SIA does not detect mood as accurately, also has max character limit so it will not support large paragraphs).
  • If need be, will use different NLP library that has fewer drawbacks.
  • Discussed ethics assignment due this weekend.
  • By next meeting, need to have tasks split up (web UI, database, back-end, API) and start working on coding.

2/26/23 (Team Meeting)

  • Discussed approach for midterm presentation, decided to split up tasks:
    • Spencer – functional overview
    • Stephan – user interface mockup
    • Matt – architecture diagram
    • Aro – platform selection
  • Worked on and solidified platform selection, as well as agreed upon user interface design.

2/23/23 (Coach Meeting)

  • Discussed platform selection and placing it on the website.
  • Showed part of Figma UI mockup.
  • Shown by Louie how to import NLTK and use it to tokenize sentences.
  • Discussed upcoming midterm presentations.

2/21/23 (Team Meeting)

2/16/23 (Coach Meeting)

  • Looked over website and requirements that were posted.
  • Discussed project progression and questions that were asked during the client meeting.
  • Discussed what is due next (platform selection, start working on fetching data from API and testing out NLTK library).

2/15/23 (Client Meeting)

  • Discussed the user stories and requirements, all approved.
  • Discussed program specifications.
  • Asked questions about the database and how far back we have to fetch the data.
  • Solidified point in how frequent we are fetching data from API.

2/9/23 (Team Meeting)

  • Discussed what the expected project be like
    • Allow text input for users
    • Include a bar graph to illustrate the positive/negative trends
    • Incorporate Reddit API to help fetch the data
    • Applied database to store logging activities
    • Introduced NLP Library for words analyzing
  • Trello App to keep track of the task
  • Role updated and redistributed
    • UI Design – Spencer
    • Database – Matt
    • Restful API – Arogya
    • NLP – Stephan

2/9/23 (Coach Meeting)

  • More requirements from Project Description
    • Database
    • NLP
    • API
    • More specific
  • User Stories good
    • Kind of atomic, kind of high level
  • Tech stack
    • React
    • Firebase
    • nltk, pattern
  • 2 steps (ELT)
    • How to grab posts and replies from Reddit
      • API or etree
    • Do some nltk/any NLP on it
    • If finish those 2, try database
  • Specification due this weekend
    • Requirements
    • Try to talk with client
  • Should start working on Ethics Assignment
  • First midterm presentation in 3 weeks
  • Gave 2 links, put in Google Doc

2/4/23 (Team Meeting)

  • Walked through the tech stacks / libraries we may need to use for the project.
    • JS (frontend)
    • Python (backend)
    • SQL (database)
    • Amazon Web Services
  • Updated the project concept in summary.
  • Updated the user stories in deliverables.

2/2/23 (Team Meeting)

  • Discussed plan to create multiple user stories using Google doc:
  • Need to research on what we want to use for tech stack, recording some ideas that we have on the Google doc.
  • Decided on meeting Saturday night to ensure we have solidified user stories as well as functional specs for the project.
  • Planned who will write out journal entries for each week (for client, coach, and team meetings) which is posted in the Meetings tab.

2/2/23 (Coach Meeting)

  • Reviewed how coach meetings will be conducted.
  • Discussed client meeting and deliverables that will be due soon (user stores, functional spec).
  • Need to add summary of what project will be about on the home page.

2/1/23 (Client Meeting)

  • Questions
    • What type of tech stack would you prefer us to use to build the app?
      • Full stack
      • Play to our strengths
      • Front/back connective tissue
      • He is familiar with AWS
      • Research on what tech stack is best
    • What do you mean by “pulse”?
      • General indicators of typical activity
      • If there is abnormal activity
        • Influx of number of posts
        • Influx of posts with highly negative or positive sentiment
        • Solution for college forums
          • Good pulse of college
          • Anonymous
      • NLP would be used to decide
      • A key is deciding a “normal activity threshold”
    • How would AWS be incorporated into the project?
      • Real-time
      • Log any activity
      • Database and data model
      • 2 concerns
        • Initial activity
        • What if that changes
        • Activity could corresp to comments or edits
      • Explore existing Reddit API
      • Either host static page that pulls from backend, or host on server (EC2, elastic cloud compute)
      • Either polling approach or poll when any change occurs
    • What would be considered potential areas of concern in the UNC subreddit?
    • What would the user experience look like?
      • Not account-based
      • Dashboard style
      • General metrics
      • Activity board
        • Overall metrics
          • Overall posts within time period
          • Comments
          • Pointers to particular posts
          • Users that are frequent contributors
      • Mods obvious use-case, but anyone would use it
  • Introductions
  • Proposal document
  • He asked how collaboration will look
    • Repo
    • He didn’t take 523 but had a similar thing
      • He used firebase to authenticate and executed using AWS lambda function
      • Piecemeal
    • We should have more “access” to him than he had to his client
    • Stotts gave us all power to determine the arrangement
  • Steps for us
    • User stories
    • Backing technologies/tech stack
    • Flow/architecture diagrams from the beginning (figma)
    • Send website links to Justin

1/26/23 (Team Meeting)

  • From client meeting
    • Aro’s notes
      • contact client brainstorm questions for client to create user stories/functional specs update website (update web journal(reverse-chronological), update roles, update deliverables) create git repo -> create git hooks -> discuss guideline for git commit messages
    • Use Trello to manage tasks
    • https://hackmd.io/bLP6MCYXQO-I_sqRUR3sZw?view
  • How to edit website
    • Stephen made everyone admins, it works now
  • What to send in email
    • We’re part of COMP 523
    • Set up a time to meet and discuss
    • Sent it
  • Order of business
    • For class
      • User stories
      • Project concept
    • For project
      • Web scraping
      • UI
      • NLP
    • In the meantime
      • Maintain website
  • Created Google Doc for working questions

1/26/23 (Coach Meeting)

  • Met with Louie and discussed how coach meetings will be conducted.
  • Discussed project website updates as well as helpful resources for project going forward.

1/19/23 (Team Meeting)

  • Discussed team rules and project preferences.