---
# System prepended metadata

title: Clarification Doc

---

# Clarification Doc

---

**Login Page (/login):**

This page contains both the Sign-In and Sign-Up sections.(You can use bootstrap here)

- **Sign-In Section:**
    - Users can enter their username and password.
    - Basic user authentication is implemented using JWT tokens for password storage.
    - Upon successful login, users are redirected to their Home Page (/home).
- **Sign-Up Section:**
    - Users can provide information such as username, password, name, and email.
- Have a logout button

---

**Home Page (/home):**

This page displays user details and a gallery of images they've uploaded.

- **User Details:**
    - Shows the user's information.
- **Image Gallery:**
    - Displays all images uploaded by the user.
    - Two buttons are present: "Upload Images" and "Create a Video."

---

**Upload Images Page (/upload):**

This page allows users to upload images via drag-and-drop.

- **Drag and Drop:**
    - Users can save the uploaded images.
    - You can use Drag and Drop file upload v4 - Bootstrap 5
    - Have save button here.

---

**Create Video Page (/create):**

This page assists users in creating a video from selected images.

- **Image Selection:**
    - Displays all uploaded images.
    - Each image has an "Add to List" button to include it in the selected images list.
- **Add Audio:**
    - Users can select from pre-existing audio files.
- The "Create Video" button is present.
- **Create Video Function (Pseudo Code):**
    
    ```python
    def create_video(image_list, audio_flag, audio_file):
     
        for each image in image_list:
            read image using cv2
    
        create video_clip , frame_list using cv2
        write frames to video_clip
    
        if audio_flag is True:
            load audio_file using MoviePy
            combine video_clip and audio
        return video 
    ```
    
- **Preview Video:**
    - Users  preview the created video.
    - No need to save the video on database
    - Have download option

---

**SQL**

(Basic data) 

- Table : User Details
    - User Name
    - User Email
    - User password (Encrypted)
    - User Images (may be image_id)
    - User Id
- Table : Images
    - Image Id
    - User Id
    - Image ( Blob Type ) ( For Milestone 3 )
    - Image Metadata
- Table : Audio
    - Audio Blob ( For Milestone 3 )
    - Audio Metadata 

**Note:**
This clarification document serves as a guide and does not replace the project requirements on Moodle. Please refer to the official project requirements for detailed instructions. If any difficulties arise, consider this document as supplementary assistance.

**Doubts:**

---

Clarification Doc [link](https://hackmd.io/@WVNrvdrURbG1ypMwZzScCw/BkvvGtRiT).

Questions [link](https://hackmd.io/@WVNrvdrURbG1ypMwZzScCw/Bkc6QK0ja)

Answers [link](https://hackmd.io/@WVNrvdrURbG1ypMwZzScCw/rkQiHYAoa)

---

