Explore Web - Capcut Online Editor
Explore Web - Capcut Online Editor
In today's digital world, video content is everywhere, and having an efficient online editing tool is
a must for creators. CapCut Online Editor, developed by Bytedance (the company behind
TikTok), is a web-based video editing platform that offers powerful features without the need for
heavy software installation.
This report explores the capabilities of CapCut, its standout features, areas for improvement,
and suggestions to enhance the user experience.
Key Features
1. AI-Powered Editing Tools
● Online Project Storage – Work on projects from any device without worrying about
storage.
● Access to royalty-free music, stickers, and video clips for creative editing.
While CapCut offers a smooth editing experience, it lacks an option for users to customize
keyboard shortcuts. Adding this feature would allow professionals to edit more efficiently.
CapCut’s current color grading tools are basic compared to professional software like DaVinci
Resolve. Enhancing features like HSL adjustments, LUT blending, and precise color
correction would significantly improve video quality.
3. AI Motion Tracking
One major missing feature is motion tracking. Adding AI-powered motion tracking would allow
elements like text, stickers, and effects to follow objects within a video, making edits more
dynamic.
Currently, CapCut supports limited export settings. Providing more control over bitrate, codec
selection (such as H.265), and lossless formats would benefit professional users.
Though CapCut syncs projects across devices, the experience differs between mobile and
desktop. Ensuring a consistent UI and feature set across all platforms would enhance
workflow efficiency.
I hope you're doing well. First, I want to appreciate the amazing work you’ve done with CapCut
Online Editor. The platform is intuitive, efficient, and packed with great features for video
editing.
As an active user, I’d love to share a few suggestions that could further improve the editing
experience:
1. Customizable Keyboard Shortcuts – Allowing users to set their own shortcuts can
speed up workflow significantly.
2. Advanced Color Grading – Adding HSL adjustments, LUT blending, and multi-layer
color grading would be a great addition.
3. AI Motion Tracking – Introducing motion tracking for text, stickers, and effects would
make videos more dynamic.
4. Expanded Export Settings – More control over bitrates, H.265 codec support, and
lossless exports would be useful.
5. Better Cross-Device Sync – Ensuring a uniform experience across web, mobile, and
desktop platforms.
I believe these enhancements will take CapCut to the next level and make it even more
competitive with industry-standard software. I’d love to hear your thoughts and would be happy
to provide more detailed feedback if needed.
Best regards,
Yuvaraj Suri
HTML TAGS
Aim:- Explore the html elements I know
Describe :- Task is to create the webpage with the html elements I know
Source Code:-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exploring HTML Elements</title>
<style>
body {
background-color: lavender;
font-family: Arial, sans-serif;
}
h1 {
text-align: center;
color: navy;
}
p{
font-size: 18px;
text-align: center;
}
.container {
text-align: center;
margin-top: 20px;
}
img {
border-radius: 10px;
box-shadow: 2px 2px 10px gray;
}
a{
display: block;
text-align: center;
margin-top: 20px;
font-size: 18px;
text-decoration: none;
background-color: navy;
color: white;
padding: 10px;
border-radius: 5px;
width: 200px;
margin: 20px auto;
}
a:hover {
background-color: darkblue;
}
</style>
</head>
<body>
<p><i>Hello, I am Yuvaraj Suri! Here are some basic HTML elements that I have learned so
far.</i></p>
<div class="container">
<img src="https://source.unsplash.com/300x260/?technology,coding" alt="Tech Image">
</div>
</body>
</html>
Beginner HTML_JS_Tasks
Aim:
To learn the basics of HTML, CSS, and JavaScript through interactive tasks.
Description:
Aim: To learn the basics of PHP and how to use it with the XAMPP
Description:
Source Code:
Calculator.php
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Calculator</title>
</head>
<body>
<h1>Simple Calculator</h1>
<div class="container">
<form action="post">
<input type="number" name="num1" id="n1" placeholder="Enter first
number" required>
<input type="number" name="num2" id="n2" placeholder="Enter second
number" required>
<select name="operation">
<option value="add">Addition (+)</option>
<option value="subtract">Subtraction (-)</option>
<option value="multiply">Multiplication (*)</option>
<option value="divide">Division (/)</option>
</select>
<button type="submit">Calculate</button>
</form>
</div>
</body>
</html>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "phplab";
} else {
echo "Connected successfully";
}
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$operation=$_POST['operation'];
function calculate($num1,$num2,$operation){
switch ($operation){
case "add":
return $num1+$num2;
case "subtract":
return $num1-$num2;
case "multiply":
return $num1*$num2;
case "division":
return $num2 != 0 ? $num1 / $num2 : "Error: Division by zero";
default:
return "Invalid operation!";
}
}
$conn->close();
?>
db.php
<?php
$servername = "localhost";
$username = "root"; // Change if using a different username
$password = ""; // Set your MySQL password
$dbname = "phplab";
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Register.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$email = $_POST["email"];
$password = password_hash($_POST["password"], PASSWORD_DEFAULT);
if ($stmt->execute()) {
echo "Registration successful! <a href='login.php'>Login Here</a>";
} else {
echo "Error: " . $stmt->error;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
</head>
<body>
<h2>Register</h2>
<form method="post">
<input type="text" name="username" required placeholder="Username">
<input type="email" name="email" required placeholder="Email">
<input type="password" name="password" required placeholder="Password">
<button type="submit">Register</button>
</form>
</body>
</html>
Login.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_database";
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST["email"];
$password = $_POST["password"];
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h2>Login</h2>
<form method="post">
<input type="email" name="email" required placeholder="Email">
<input type="password" name="password" required placeholder="Password">
<button type="submit">Login</button>
</form>
</body>
</html>
Logout.php
<?php
session_start();
session_destroy();
header("Location: login.php");
?>
Output :
PHPJObPortal
Description:-
Develop a func onal webpage for a Job Applica on Portal where users can:
1. Register an account.
2. Login using their creden als.
3. Upload and update their profiles with: o Profile picture (image upload) o Digital resume
(PDF upload and download)
SourceCode:-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>Job Portal Login</title>
</head>
<body>
<h1>Job Portal Login</h1>
<label for="password">Password:</label>
<input type="password" name="password" id="password" required
placeholder="Enter your password"><br>
<button type="submit">Login</button>
</form>
<?php
if (isset($error)) {
echo "<p style='color: red;'>$error</p>";
}
?>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>Job Portal Dashboard</title>
</head>
<body>
<h1>Welcome to the Job Portal, <?php echo $email; ?>!</h1>
logout.php (PHP)
php
CopyEdit
<?php
session_start();
Description:
This document provides hands-on tasks covering all basic Git commands, including operations
like branching, merging, handling remote repositories, undoing changes, and exploring
advanced Git features. Complete these tasks sequentially to gain a thorough understanding of
Git.
Tasks:
Description:
jQuery is a fast, lightweight, and feature-rich JavaScript library that simplifies HTML document
traversal, event handling, animation, and AJAX interactions. It allows developers to write less
code while achieving the same functionality as plain JavaScript.
Click Event & Change CSS
Hover Event - Change Style
Focus & Blur Events on Input
Fading Effects - FadeIn, FadeOut, and FadeToggle
Slide Effects - SlideUp and SlideDown
Keypress & Keydown Events - Show Key Pressed
Multiple Animations with animate()
Stop, Clear Queue & Finish Animations
Form Submit Event - Prevent Default Action
Implement a jQuery Plugin – Light box for Images
Parent & Child Traversing with Styling
Find Siblings & Apply Styling
SOURCE CODE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Lab Tasks</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js"></scri
pt>
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css">
<style>
body {
font-family: 'Arial', sans-serif;
padding: 20px;
background-color: #f4f4f4;
}
.task-container {
margin-bottom: 40px;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
background: white;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease-in-out;
}
.task-container:hover {
transform: scale(1.02);
}
.highlight {
background-color: yellow;
}
.animated-box {
width: 100px;
height: 100px;
background-color: lightblue;
position: relative;
border-radius: 10px;
transition: all 0.3s ease-in-out;
}
.preview {
max-width: 100%;
height: auto;
}
.styled-input {
border: 2px solid #ccc;
padding: 8px;
border-radius: 5px;
transition: all 0.3s;
}
.styled-input:focus {
border-color: #28a745;
box-shadow: 0px 0px 5px rgba(40, 167, 69, 0.7);
}
</style>
</head>
<body>
// 2. Hover Event
$("#hoverDiv").hover(
function() { $(this).css("background-color", "red"); },
function() { $(this).css("background-color", "black"); }
);
// 4. Fading Effects
$("#fadeToggleBtn").click(function() {
$("#fadeBox").fadeToggle(500);
});
// 5. Sliding Effects
$("#slideToggleBtn").click(function() {
$("#slideBox").slideToggle(500);
});
// 6. Keypress Event
$("#keyInput").keypress(function(event) {
$("#keyOutput").text("You pressed: " + event.key);
});
// 7. Animation Effects
$("#animateBtn").click(function() {
$("#animateBox").animate({
width: "200px",
height: "200px",
opacity: 0.5,
left: "+=50px"
}, 1000).animate({
width: "100px",
height: "100px",
opacity: 1,
left: "-=50px"
}, 1000);
});
});
</script>
</body>
</html>
output:
Oauth
Aim:- To explore about Oauth and create a Oauth based demo website
Source Code
index.html
html
CopyEdit
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>EduLearn - Learn Anytime, Anywhere</title>
<link rel="stylesheet" href="public/css/style.css">
<script src="https://kit.fontawesome.com/a076d05399.js"></script>
</head>
<body>
<div class="hero">
<video autoplay loop muted class="background-video">
<source src="public/images/education.mp4"
type="video/mp4">
</video>
<div class="overlay">
<h1 class="fade-in">Welcome to EduLearn</h1>
<p class="fade-in">Explore courses, connect with experts,
and enhance your skills!</p>
<a href="/auth/google" class="btn glow-button">
<i class="fab fa-google"></i> Login with Google
</a>
</div>
</div>
</body>
</html>
authRoute.js
javascript
CopyEdit
const express = require('express');
const passport = require('passport');
const router = express.Router();
// Handle callback
router.get('/google/callback',
passport.authenticate('google', { failureRedirect: '/' }),
(req, res) => {
res.redirect('/dashboard');
}
);
// Logout
router.get('/logout', (req, res) => {
req.logout();
res.redirect('/');
});
module.exports = router;
config.js
javascript
CopyEdit
require('dotenv').config();
module.exports = {
google: {
clientID: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
callbackURL: "/auth/google/callback"
}
};
server.js
javascript
CopyEdit
// Load environment variables FIRST
require("dotenv").config();
// Middleware
app.use(express.static("public"));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// Session configuration
app.use(
session({
secret: process.env.SESSION_SECRET || "default_secret",
resave: false,
saveUninitialized: true,
})
);
// Initialize Passport
app.use(passport.initialize());
app.use(passport.session());
// Routes
app.get("/", (req, res) => {
res.send(" 📚 Welcome to EduLearn - Your Learning Companion!");
});
// Dashboard Page
app.get("/dashboard", (req, res) => {
if (!req.isAuthenticated()) return res.redirect("/");
res.send(`<h1>Welcome, ${req.user.displayName}!</h1> <a
href='/logout'>Logout</a>`);
});
// Logout
app.get("/logout", (req, res) => {
req.logout(() => {
res.redirect("/");
});
});
// Start Server
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(` ✅ Server running at http://localhost:${PORT}`);
});
about.ejs
ejs
CopyEdit
<% include('layout'); %>
index.ejs
ejs
CopyEdit
<% include('layout'); %>
layout.ejs
ejs
CopyEdit
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>EduLearn</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/animations.css">
</head>
<body>
<nav class="navbar">
<a href="/" class="logo">📚 EduLearn</a>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<% if (!user) { %>
<li><a href="/auth/google" class="btn">Login with
Google</a></li>
<% } else { %>
<li><a href="/dashboard">Dashboard</a></li>
<li><a href="/logout" class="btn">Logout</a></li>
<% } %>
</ul>
</nav>
<div class="container">
<%- body %>
</div>
<script src="/js/script.js"></script>
</body>
</html>
OUTPUT:
Monog DB task
Aim: To do crud opetations with the help of mongodb database
Description:
To implement simple crud operations using mongo b like get put delete
post apis.
Source Code:
npm install express mongoose cors body-parser dotenv
server.js :
require("dotenv").config();
const express = require("express");
const mongoose = require("mongoose");
const cors = require("cors");
const app = express();
const PORT = process.env.PORT || 5000;
// Middleware
app.use(cors());
app.use(express.json());
// MongoDB Connection
mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
✅
})
❌
.then(() => console.log(" MongoDB Connected"))
.catch((err) => console.log(" MongoDB Connection Error:", err));
// Define Schema
const TaskSchema = new mongoose.Schema({
title: String,
description: String,
});
🚀
const Task = mongoose.model("Task", TaskSchema);
// Create (POST)
app.post("/tasks", async (req, res) => {
try {
const task = new Task(req.body);
await task.save();
res.status(201).json(task);
} catch (error) {
res.status(400).json({ error: "Failed to create task" });
}
📌
});
// Read (GET)
app.get("/tasks", async (req, res) => {
try {
const tasks = await Task.find();
res.json(tasks);
} catch (error) {
res.status(500).json({ error: "Failed to fetch tasks" });
}
✏️
});
// Update (PUT)
app.put("/tasks/:id", async (req, res) => {
try {
const updatedTask = await Task.findByIdAndUpdate(req.params.id, req.body, { new:
true });
res.json(updatedTask);
} catch (error) {
res.status(400).json({ error: "Failed to update task" });
}
❌
});
// Delete (DELETE)
app.delete("/tasks/:id", async (req, res) => {
try {
await Task.findByIdAndDelete(req.params.id);
res.json({ message: "Task deleted" });
} catch (error) {
res.status(500).json({ error: "Failed to delete task" });
}
});
🚀
// Start Server
app.listen(PORT, () => console.log(` Server running on http://localhost:${PORT}`));
.env :
MONGO_URI=mongodb://localhost:27017/taskDB
BootstrapTask
Aim
To develop a Bootstrap-Based Website to understand Bootstrap concepts clearly.
Description
Create a fully responsive Writer’s Blog website using only Bootstrap components,
including containers, the grid system, and pre-built UI elements. This project will focus
on modern UI design, smooth transitions, and an engaging user experience.
Requirements
Core Sections:
Bootstrap Components:
Responsiveness:
Additional UI Elements:
SOURCE CODE :
Aim: Build & Deploy a Typography & Graphic Design Showcase Website
Description:
Create a fully functional website that showcases various typographies, scripts, and
graphic designs using Bootstrap for styling. The website should be responsive, visually
appealing, and well-structured. Deploy it using any free hosting provider.
1. Design & Branding
2. Website Structure & Pages (With Bootstrap Elements)
3. Deployment
4. Technology Stack (Mandatory Bootstrap Usage)
5. Bonus Points
6. Submission Requirements
Source Code:-
<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Typography & Design Showcase</title>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
rel="stylesheet">
<!-- Google Fonts -->
<link
href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=
Roboto:wght@300;400;700&display=swap" rel="stylesheet">
<!-- AOS Animation Library -->
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="css/style.css" rel="stylesheet">
<!-- Additional Google Fonts -->
<link
href="https://fonts.googleapis.com/css2?family=Dancing+Script&family=Kalam&family=
Satisfy&family=Caveat&family=Indie+Flower&family=Pacifico&family=Great+Vibes&famil
y=Courgette&family=Shadows+Into+Light&family=Permanent+Marker&display=swap"
rel="stylesheet">
<!-- Add Font Awesome -->
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
</head>
<body class="bg-dark text-light">
<!-- Navbar -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<a class="navbar-brand d-flex align-items-center" href="#">
<i class="fas fa-film movie-icon-small me-2"></i>
<span>MoviesHub</span>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="#home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#dialogues">Dialogues</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#favorites">Favorites</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#about">About</a>
</li>
</ul>
</div>
</div>
</nav>
OUTPUT:
Deploy link :https://yuvifonts.netlify.app/