Project Overview
Our group wanted to make a video sharing site, similar to YouTube. Obviously this is a huge task, so we set our goals to the main concept of video sharing and viewing experience. Our site has user functionality with JWT, and roles to allow administrators to manage other users. We support video uploading/viewing with thumbnails and view counts.
My Feature
I contributed to many parts of the project, but the individual feature I wanted to highlight was the main upload feature for each video, using user-submitted information to add videos to the database, and view them in the frontend.
Component A: Program
CB Requirements | Me |
---|---|
Instructions for input from one of the following: the user, a device, an online datas stream, a file. | Takes in the following information for the video: title, description, genre, video file, and thumbnail(image file). |
Use of at least one list (or other collection type) to represent a collection of data that is stored and used to manage program complexity and help fulfill the users purpose. | We use an SQLite table to store everything besides the actual video file, which is statically served on the flask app in the /videos directory. All of this is connected through the database, making everything very streamlined and easily accessible. |
At least one procedure that contributed to the program’s intened purpose where you have defined: the name, return type, one or more parameters. | Code that creates a video in the database given metadata and a video file. |
An algorithm that includes sequencing, selection, and iteration that is in the body of the selected procedure. | Our database initialization uses for loops and if statements to loop through a list of video objects to add to the database: |
Calls to your student-developed procedure. | Calls the create method in the POST request code in the Flask API endpoint. |
Instructions for output (tactile, audible, visual, or textual) based on input and program functionality | Success returns JSON of video: |
Component B: Video
CB Requirements | Me |
---|---|
Input to program | Uploading thumbnail and video file along with title, description, and genre. |
At least one aspect of the functionality of your program | Viewing the video in the video player |
Output produced by program | Home page updated with video |
My video does not have | Voice narration |
My video is | In .mp4 format, 1 minute in length, less than 30MB in file size |