Project Summary

Charlie --- The Citizen Journalist App: a key component to solving the problem of the Local News business. With these apps and web assignment tool, we can apply trending topic data on stories and cut out the news services expense.

Project Describtion

    City News Beat delivers Local News Weather and Lifestyle stories for Roku and Fire TV users. Our software engine,"CHARLIE", powers our brands NYC News Beat, Seattle News Beat, Bay Area News Beat, Carolina News Beat and Tar Heel News Beat for Roku and Fire TV. However we need mobile iOS and Android apps that do more than just play our content city by city.
    Our newsroom tracks trending topics using Data based tools along with Google Trends, Trends Map from Twitter and Snap's heat map. When we see a trending story happening, we want to enable local citizens to submit video of that event to us. To do so, we need to start with a web based tool for Story Assignments. Something as simple as placing a pin drop on a map to find the location of phones with our app loaded nearest to that event. W will then need to send paid requests to those users within that radius of a breaking news event.
    When we use a citizens video, we'll need a way to pay that user directly, so user profile data collection is important. We have not yet decided on the off the shelf electronic payment API - something that is easy and built into the web tool (we are open to ideas here.)
    That web tool is for our Newsroom Producer to create the story assignment (the pin drop), send it to all phones in the radius or just to certain users (we deal with Pro stringers as well), track submissions, mark the video we decide to use, then pay the citizen shooter who sent it to us. Any video submitted to CNB, is for City News Beat's exclusive use so the app cannot send it anywhere else (i.e. Facebook et al).
    To submit video to our newsroom we’ll need to capture info, we'll need our Terms and Conditions accepted and we must have a way to connect two way payments with our users.
    The apps themselves must set the phone's camera to 4K (or HD mode at a minimum), set lighting to Auto and it must turn and lock the screen into Landscape 16x9 mode for TV replay. On screen guides are necessary to help citizens "Frame The Shot" properly - a simple [ + ] onscreen guide with a start and stop record button. Recording should be done into the cloud, with a review on the phone. Any video scrubbed by user must be deleted from our cloud account. When submitted to us, an alert on our web tool that it has arrived with a thumbnail and the name of the user_Assignment_video-version-number as the name of the file. For users who just want the news, we want to enable our apps to stream content to the app, similar to what we do already on our Fire TV and Roku version. They will need to select a city and CHARLIE will do the rest.

Our Team


Meeting Schedule

Mentor Meeting: Monday at 4pm EST

Mentor Meeting Link:

Client Meeting: Thursday at 4pm EST

Journal Entries

Aug 24: Mentor Meeting: briefly went over the project; we built our Trello board

Aug 28: Client Meeting; clients shared us some git repositories including the building API and we talked about where to start.

Aug 31: Mentor Meeting: we presented our team website; we briefly went through the user stories assignment and Danny showed us some examples from last semester.

Sep 3: Client Meeting: solved the error we got when running the API Rebuilding script; clients showed us their UI design

Sep 10: Client Meeting: Scheduler error: 1) init.js -> scheduler.js 2) change all the outdated credentials; redis: a type of database that needs to be installed; pool destroy: database connection error, can test use a knex variable in bookshelf.js

Sep 11: Mentor Meeting: we presented our user stories; asked questions about trello; shared the overall information we got from the clients

Sep 14: Mentor Meeting: we presented our clickable prototype assignments

Sep 17: Client Meeting: 1) our clients gave us a brief tutorial about AWS services 2) ask questions about how to test if the API works

Sep 28: Mentor Meeting: we presented our architecture assignments; need to change the format of that

Sep 29: Client Meeting: This meeting was to be hold last Thursday but was postponed. Solved the API post token authorization problem.

Oct 1: Client Meeting: We are asked to add a new feature that allows users to login via a social media platform.

Oct 5: Mentor Meeting: We presented our modified architecture assignments

Oct 8: Client Meeting: Our clients changed their requirements: instead of building a react native app from scratch, they want us to stand up the old app first. Then we may either fix the old app or transfrom it into react native app.

Oct 15: Client Meeting: Show our clients our progress on debugging the old application.

Oct 16: Mentor Meeting: Present our walking skeleton assignment.

Oct 22: Client Meeting: Show our clients our progress on debugging the old application and also a live debugging session.

Oct 23: Mentor Meeting: Present our progress on the React Native App and ask for questions about the test coverage report.

Oct 27: Extra Client Meeting: Live debugging session on the IOS app.

Oct 29: Client Meeting: We are able to build the IOS app and we have connected the API in the EC2 server to the IOS frontend. We presented our current progress to the client. We also had a live debugging session on the IOS camera function and the Android dependency error.

Oct 30: Mentor Meeting: Reported what we did during the client meeting and that we were able to run the IOS app. We will show the demo in the next mentor meeting.

Nov 5: Client Meeting: We are able to create a gallery when a user uploads some images to the server. However, the AWS S3 bucket has some problem with processing images, and thus it cannot notify the user back. We scheduled an extra meeting on Monday next week to debug this error.

Nov 9: Extra Client Meeting: We solved the CDN error and now the entire image uploading workflow could work as expected.

Nov 12: Client Meeting: We had some problem with the aws video processing stage. We created a new pipeline in the AWS ETC but we cannot confirm the subscription. We will work on that next Tuesday.