├── Module-3_Core_Java ├── Reflection.java ├── HelloWorld.java ├── ClassFileDecompile.java ├── JavapBytecode.java ├── VirtualThreadsDemo.java ├── OperatorPrecedence.java ├── LambdaSort.java ├── EvenOddChecker.java ├── ThreadCreation.java ├── MultiplicationTable.java ├── LeapYearChecker.java ├── TypeCastingExample.java ├── FactorialCalculator.java ├── InheritanceExample.java ├── StreamEvenFilter.java ├── DataTypeDemo.java ├── RecursiveFibonacci.java ├── CarClass.java ├── PersonRecord.java ├── MethodOverloading.java ├── PatternSwitch.java ├── InterfaceImplementation.java ├── TryCatchExample.java ├── JavaModules.java ├── HttpClientExample.java ├── FileReading.java ├── CustomExceptionDemo.java ├── ReflectionDemo.java ├── JDBCConnection.java ├── ArraySumAverage.java ├── Serverclient │ ├── TCPClient.java │ └── TCPServer.java ├── ArrayListExample.java ├── GradeCalculator.java ├── ExecutorServiceCallable.java ├── FileWriting.java ├── PalindromeChecker.java ├── NumberGuessingGame.java ├── StringReversal.java ├── JDBCTransaction.java ├── HashMapExample.java ├── JDBCInsertUpdate.java └── SimpleCalculator.java ├── Module-1__HTML5 ├── images │ └── Bug.png ├── README.md ├── index.html └── Steps-with-code.txt ├── .gitignore ├── LICENSE └── Module-2_ANSI SQL └── Implementation.txt /Module-3_Core_Java/Reflection.java: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Module-1__HTML5/images/Bug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Naveenk069/CTS-DN4.0-Upskilling-Handbook-Java-FSE/main/Module-1__HTML5/images/Bug.png -------------------------------------------------------------------------------- /Module-3_Core_Java/HelloWorld.java: -------------------------------------------------------------------------------- 1 | public class HelloWorld { 2 | public static void main(String[] args) { 3 | System.out.println("Hello, World!"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /Module-3_Core_Java/ClassFileDecompile.java: -------------------------------------------------------------------------------- 1 | public class ClassFileDecompile { 2 | public static void main(String[] args) { 3 | System.out.println("Compile this and view with JD-GUI or CFR to decompile."); 4 | } 5 | } 6 | 7 | 8 | // Compile this and open .class file in JD-GUI 9 | -------------------------------------------------------------------------------- /Module-3_Core_Java/JavapBytecode.java: -------------------------------------------------------------------------------- 1 | 2 | public class JavapBytecode { 3 | public static void main(String[] args) { 4 | System.out.println("Inspect this class using javap -c JavapBytecode"); 5 | } 6 | } 7 | 8 | // After compiling: javac JavapBytecode.java 9 | // Use: javap -c JavapBytecode -------------------------------------------------------------------------------- /Module-3_Core_Java/VirtualThreadsDemo.java: -------------------------------------------------------------------------------- 1 | public class VirtualThreadsDemo { 2 | public static void main(String[] args) { 3 | for (int i = 0; i < 100000; i++) { 4 | Thread.startVirtualThread(() -> { 5 | System.out.println("Running virtual thread " + Thread.currentThread()); 6 | }); 7 | } 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /Module-3_Core_Java/OperatorPrecedence.java: -------------------------------------------------------------------------------- 1 | public class OperatorPrecedence { 2 | public static void main(String[] args) { 3 | int result = 10 + 5 * 2; 4 | int result2 = (10 + 5) * 2; 5 | 6 | System.out.println("Without parentheses: 10 + 5 * 2 = " + result); 7 | System.out.println("With parentheses: (10 + 5) * 2 = " + result2); 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | replay_pid* 25 | -------------------------------------------------------------------------------- /Module-3_Core_Java/LambdaSort.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | 3 | public class LambdaSort { 4 | public static void main(String[] args) { 5 | List names = Arrays.asList("Zara", "Mike", "Bob", "Alice"); 6 | 7 | names.sort((a, b) -> a.compareToIgnoreCase(b)); 8 | 9 | System.out.println("Sorted names:"); 10 | names.forEach(System.out::println); 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /Module-3_Core_Java/EvenOddChecker.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class EvenOddChecker { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter a number: "); 7 | int num = sc.nextInt(); 8 | 9 | if (num % 2 == 0) 10 | System.out.println(num + " is Even"); 11 | else 12 | System.out.println(num + " is Odd"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Module-3_Core_Java/ThreadCreation.java: -------------------------------------------------------------------------------- 1 | class MyThread extends Thread { 2 | public void run() { 3 | for (int i = 0; i < 5; i++) { 4 | System.out.println("Running in thread: " + getName()); 5 | } 6 | } 7 | } 8 | 9 | public class ThreadCreation { 10 | public static void main(String[] args) { 11 | MyThread t1 = new MyThread(); 12 | MyThread t2 = new MyThread(); 13 | 14 | t1.start(); 15 | t2.start(); 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Module-3_Core_Java/MultiplicationTable.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class MultiplicationTable { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter a number: "); 7 | int num = sc.nextInt(); 8 | 9 | System.out.println("Multiplication Table for " + num); 10 | for (int i = 1; i <= 10; i++) { 11 | System.out.println(num + " x " + i + " = " + (num * i)); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Module-3_Core_Java/LeapYearChecker.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class LeapYearChecker { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter a year: "); 7 | int year = sc.nextInt(); 8 | 9 | if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) 10 | System.out.println(year + " is a Leap Year"); 11 | else 12 | System.out.println(year + " is Not a Leap Year"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Module-3_Core_Java/TypeCastingExample.java: -------------------------------------------------------------------------------- 1 | public class TypeCastingExample { 2 | public static void main(String[] args) { 3 | double d = 9.78; 4 | int i = (int) d; // Explicit casting 5 | 6 | int x = 100; 7 | double y = x; // Implicit casting 8 | 9 | System.out.println("Double value: " + d); 10 | System.out.println("After casting to int: " + i); 11 | System.out.println("Int value: " + x); 12 | System.out.println("After casting to double: " + y); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Module-3_Core_Java/FactorialCalculator.java: -------------------------------------------------------------------------------- 1 | 2 | import java.util.Scanner; 3 | 4 | public class FactorialCalculator { 5 | public static void main(String[] args) { 6 | Scanner sc = new Scanner(System.in); 7 | System.out.print("Enter a non-negative integer: "); 8 | int num = sc.nextInt(); 9 | long factorial = 1; 10 | 11 | for (int i = 1; i <= num; i++) { 12 | factorial *= i; 13 | } 14 | 15 | System.out.println("Factorial of " + num + " = " + factorial); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Module-3_Core_Java/InheritanceExample.java: -------------------------------------------------------------------------------- 1 | class Animal { 2 | void makeSound() { 3 | System.out.println("Some generic animal sound"); 4 | } 5 | } 6 | 7 | class Dog extends Animal { 8 | @Override 9 | void makeSound() { 10 | System.out.println("Bark"); 11 | } 12 | } 13 | 14 | public class InheritanceExample { 15 | public static void main(String[] args) { 16 | Animal generic = new Animal(); 17 | Dog dog = new Dog(); 18 | 19 | generic.makeSound(); 20 | dog.makeSound(); 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /Module-3_Core_Java/StreamEvenFilter.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | import java.util.stream.Collectors; 3 | 4 | public class StreamEvenFilter { 5 | public static void main(String[] args) { 6 | List numbers = Arrays.asList(10, 15, 20, 25, 30); 7 | 8 | List evenNumbers = numbers.stream() 9 | .filter(n -> n % 2 == 0) 10 | .collect(Collectors.toList()); 11 | 12 | System.out.println("Even numbers: " + evenNumbers); 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Module-3_Core_Java/DataTypeDemo.java: -------------------------------------------------------------------------------- 1 | public class DataTypeDemo { 2 | public static void main(String[] args) { 3 | int intVar = 100; 4 | float floatVar = 10.5f; 5 | double doubleVar = 123.456; 6 | char charVar = 'A'; 7 | boolean boolVar = true; 8 | 9 | System.out.println("Integer: " + intVar); 10 | System.out.println("Float: " + floatVar); 11 | System.out.println("Double: " + doubleVar); 12 | System.out.println("Character: " + charVar); 13 | System.out.println("Boolean: " + boolVar); 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /Module-3_Core_Java/RecursiveFibonacci.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class RecursiveFibonacci { 4 | public static int fibonacci(int n) { 5 | if (n <= 1) 6 | return n; 7 | return fibonacci(n - 1) + fibonacci(n - 2); 8 | } 9 | 10 | public static void main(String[] args) { 11 | Scanner sc = new Scanner(System.in); 12 | System.out.print("Enter the position (n): "); 13 | int n = sc.nextInt(); 14 | 15 | System.out.println("Fibonacci number at position " + n + " is: " + fibonacci(n)); 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Module-3_Core_Java/CarClass.java: -------------------------------------------------------------------------------- 1 | class Car { 2 | String make; 3 | String model; 4 | int year; 5 | 6 | void displayDetails() { 7 | System.out.println("Make: " + make); 8 | System.out.println("Model: " + model); 9 | System.out.println("Year: " + year); 10 | } 11 | } 12 | 13 | public class CarClass { 14 | public static void main(String[] args) { 15 | Car myCar = new Car(); 16 | myCar.make = "Toyota"; 17 | myCar.model = "Corolla"; 18 | myCar.year = 2020; 19 | 20 | myCar.displayDetails(); 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /Module-3_Core_Java/PersonRecord.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | import java.util.stream.Collectors; 3 | 4 | record Person(String name, int age) {} 5 | 6 | public class PersonRecord { 7 | public static void main(String[] args) { 8 | List people = List.of( 9 | new Person("Alice", 22), 10 | new Person("Bob", 30), 11 | new Person("Charlie", 18) 12 | ); 13 | 14 | System.out.println("People over 20:"); 15 | people.stream() 16 | .filter(p -> p.age() > 20) 17 | .forEach(System.out::println); 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /Module-3_Core_Java/MethodOverloading.java: -------------------------------------------------------------------------------- 1 | public class MethodOverloading { 2 | public static int add(int a, int b) { 3 | return a + b; 4 | } 5 | 6 | public static double add(double a, double b) { 7 | return a + b; 8 | } 9 | 10 | public static int add(int a, int b, int c) { 11 | return a + b + c; 12 | } 13 | 14 | public static void main(String[] args) { 15 | System.out.println("Sum of 2 ints: " + add(5, 3)); 16 | System.out.println("Sum of 2 doubles: " + add(4.5, 6.3)); 17 | System.out.println("Sum of 3 ints: " + add(1, 2, 3)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Module-3_Core_Java/PatternSwitch.java: -------------------------------------------------------------------------------- 1 | 2 | public class PatternSwitch { 3 | public static void printType(Object obj) { 4 | switch (obj) { 5 | case Integer i -> System.out.println("Integer: " + i); 6 | case String s -> System.out.println("String: " + s); 7 | case Double d -> System.out.println("Double: " + d); 8 | default -> System.out.println("Unknown type"); 9 | } 10 | } 11 | 12 | public static void main(String[] args) { 13 | printType(42); 14 | printType("Hello"); 15 | printType(3.14); 16 | printType(true); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Module-3_Core_Java/InterfaceImplementation.java: -------------------------------------------------------------------------------- 1 | interface Playable { 2 | void play(); 3 | } 4 | 5 | class Guitar implements Playable { 6 | public void play() { 7 | System.out.println("Guitar is playing..."); 8 | } 9 | } 10 | 11 | class Piano implements Playable { 12 | public void play() { 13 | System.out.println("Piano is playing..."); 14 | } 15 | } 16 | 17 | public class InterfaceImplementation { 18 | public static void main(String[] args) { 19 | Playable g = new Guitar(); 20 | Playable p = new Piano(); 21 | 22 | g.play(); 23 | p.play(); 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /Module-3_Core_Java/TryCatchExample.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class TryCatchExample { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter first integer: "); 7 | int a = sc.nextInt(); 8 | System.out.print("Enter second integer: "); 9 | int b = sc.nextInt(); 10 | 11 | try { 12 | int result = a / b; 13 | System.out.println("Result = " + result); 14 | } catch (ArithmeticException e) { 15 | System.out.println("Error: Cannot divide by zero."); 16 | } 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Module-3_Core_Java/JavaModules.java: -------------------------------------------------------------------------------- 1 | // module-info.java in com.utils 2 | module com.utils { 3 | exports com.utils; 4 | } 5 | 6 | // Utility.java in com.utils 7 | package com.utils; 8 | public class Utility { 9 | public static void greet() { 10 | System.out.println("Hello from Utility Module!"); 11 | } 12 | } 13 | 14 | // module-info.java in com.greetings 15 | module com.greetings { 16 | requires com.utils; 17 | } 18 | 19 | // Main.java in com.greetings 20 | package com.greetings; 21 | import com.utils.Utility; 22 | 23 | public class Main { 24 | public static void main(String[] args) { 25 | Utility.greet(); 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /Module-3_Core_Java/HttpClientExample.java: -------------------------------------------------------------------------------- 1 | import java.net.http.*; 2 | import java.net.URI; 3 | 4 | public class HttpClientExample { 5 | public static void main(String[] args) throws Exception { 6 | HttpClient client = HttpClient.newHttpClient(); 7 | HttpRequest request = HttpRequest.newBuilder() 8 | .uri(URI.create("https://api.github.com")) 9 | .build(); 10 | 11 | HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); 12 | 13 | System.out.println("Status: " + response.statusCode()); 14 | System.out.println("Response: " + response.body()); 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /Module-3_Core_Java/FileReading.java: -------------------------------------------------------------------------------- 1 | import java.io.File; 2 | import java.io.FileNotFoundException; 3 | import java.util.Scanner; 4 | 5 | public class FileReading { 6 | public static void main(String[] args) { 7 | try { 8 | File file = new File("output.txt"); 9 | Scanner reader = new Scanner(file); 10 | 11 | while (reader.hasNextLine()) { 12 | String line = reader.nextLine(); 13 | System.out.println(line); 14 | } 15 | 16 | reader.close(); 17 | } catch (FileNotFoundException e) { 18 | System.out.println("File not found."); 19 | } 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Module-3_Core_Java/CustomExceptionDemo.java: -------------------------------------------------------------------------------- 1 | class InvalidAgeException extends Exception { 2 | public InvalidAgeException(String message) { 3 | super(message); 4 | } 5 | } 6 | 7 | public class CustomExceptionDemo { 8 | public static void main(String[] args) { 9 | int age = 16; 10 | 11 | try { 12 | if (age < 18) { 13 | throw new InvalidAgeException("Age must be 18 or older."); 14 | } else { 15 | System.out.println("Access granted."); 16 | } 17 | } catch (InvalidAgeException e) { 18 | System.out.println("Exception: " + e.getMessage()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Module-3_Core_Java/ReflectionDemo.java: -------------------------------------------------------------------------------- 1 | import java.lang.reflect.*; 2 | 3 | class Sample { 4 | public void show() { 5 | System.out.println("Hello from Sample"); 6 | } 7 | } 8 | 9 | public class ReflectionDemo { 10 | public static void main(String[] args) throws Exception { 11 | Class cls = Class.forName("Sample"); 12 | Method[] methods = cls.getDeclaredMethods(); 13 | 14 | for (Method m : methods) { 15 | System.out.println("Method: " + m.getName()); 16 | } 17 | 18 | Object obj = cls.getDeclaredConstructor().newInstance(); 19 | Method method = cls.getMethod("show"); 20 | method.invoke(obj); 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /Module-3_Core_Java/JDBCConnection.java: -------------------------------------------------------------------------------- 1 | import java.sql.*; 2 | 3 | public class JDBCConnection { 4 | public static void main(String[] args) { 5 | String url = "jdbc:sqlite:students.db"; // Or your MySQL JDBC URL 6 | try (Connection conn = DriverManager.getConnection(url)) { 7 | Statement stmt = conn.createStatement(); 8 | ResultSet rs = stmt.executeQuery("SELECT * FROM students"); 9 | 10 | while (rs.next()) { 11 | System.out.println(rs.getInt("id") + " - " + rs.getString("name")); 12 | } 13 | } catch (SQLException e) { 14 | System.out.println("Connection failed: " + e.getMessage()); 15 | } 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Module-3_Core_Java/ArraySumAverage.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class ArraySumAverage { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter number of elements: "); 7 | int n = sc.nextInt(); 8 | int[] arr = new int[n]; 9 | int sum = 0; 10 | 11 | System.out.println("Enter " + n + " numbers:"); 12 | for (int i = 0; i < n; i++) { 13 | arr[i] = sc.nextInt(); 14 | sum += arr[i]; 15 | } 16 | 17 | double average = (double) sum / n; 18 | System.out.println("Sum: " + sum); 19 | System.out.println("Average: " + average); 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Module-3_Core_Java/Serverclient/TCPClient.java: -------------------------------------------------------------------------------- 1 | // Client.java 2 | import java.net.*; 3 | import java.io.*; 4 | 5 | public class TCPChatClient { 6 | public static void main(String[] args) throws IOException { 7 | Socket socket = new Socket("localhost", 1234); 8 | BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); 9 | PrintWriter out = new PrintWriter(socket.getOutputStream(), true); 10 | 11 | System.out.println("Connected to server. Start typing:"); 12 | String message; 13 | while (!(message = input.readLine()).equalsIgnoreCase("exit")) { 14 | out.println(message); 15 | } 16 | 17 | socket.close(); 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /Module-3_Core_Java/ArrayListExample.java: -------------------------------------------------------------------------------- 1 | import java.util.ArrayList; 2 | import java.util.Scanner; 3 | 4 | public class ArrayListExample { 5 | public static void main(String[] args) { 6 | ArrayList names = new ArrayList<>(); 7 | Scanner sc = new Scanner(System.in); 8 | 9 | System.out.println("Enter student names (type 'stop' to finish):"); 10 | while (true) { 11 | String name = sc.nextLine(); 12 | if (name.equalsIgnoreCase("stop")) break; 13 | names.add(name); 14 | } 15 | 16 | System.out.println("Student names:"); 17 | for (String name : names) { 18 | System.out.println(name); 19 | } 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Module-3_Core_Java/GradeCalculator.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class GradeCalculator { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter marks out of 100: "); 7 | int marks = sc.nextInt(); 8 | 9 | if (marks >= 90 && marks <= 100) 10 | System.out.println("Grade: A"); 11 | else if (marks >= 80) 12 | System.out.println("Grade: B"); 13 | else if (marks >= 70) 14 | System.out.println("Grade: C"); 15 | else if (marks >= 60) 16 | System.out.println("Grade: D"); 17 | else 18 | System.out.println("Grade: F"); 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /Module-3_Core_Java/ExecutorServiceCallable.java: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.*; 2 | import java.util.*; 3 | 4 | public class ExecutorServiceCallable { 5 | public static void main(String[] args) throws Exception { 6 | ExecutorService executor = Executors.newFixedThreadPool(3); 7 | List> tasks = Arrays.asList( 8 | () -> "Task 1 result", 9 | () -> "Task 2 result", 10 | () -> "Task 3 result" 11 | ); 12 | 13 | List> results = executor.invokeAll(tasks); 14 | 15 | for (Future result : results) { 16 | System.out.println(result.get()); 17 | } 18 | 19 | executor.shutdown(); 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Module-3_Core_Java/FileWriting.java: -------------------------------------------------------------------------------- 1 | import java.io.FileWriter; 2 | import java.io.IOException; 3 | import java.util.Scanner; 4 | 5 | public class FileWriting { 6 | public static void main(String[] args) { 7 | Scanner sc = new Scanner(System.in); 8 | System.out.print("Enter a string to write to file: "); 9 | String data = sc.nextLine(); 10 | 11 | try { 12 | FileWriter writer = new FileWriter("output.txt"); 13 | writer.write(data); 14 | writer.close(); 15 | System.out.println("Data written to output.txt successfully."); 16 | } catch (IOException e) { 17 | System.out.println("An error occurred."); 18 | e.printStackTrace(); 19 | } 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Module-3_Core_Java/Serverclient/TCPServer.java: -------------------------------------------------------------------------------- 1 | // Server.java 2 | import java.net.*; 3 | import java.io.*; 4 | 5 | public class TCPChatServer { 6 | public static void main(String[] args) throws IOException { 7 | ServerSocket server = new ServerSocket(1234); 8 | Socket socket = server.accept(); 9 | BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 10 | PrintWriter out = new PrintWriter(socket.getOutputStream(), true); 11 | 12 | out.println("Welcome to the chat server!"); 13 | String msg; 14 | while ((msg = in.readLine()) != null) { 15 | System.out.println("Client says: " + msg); 16 | } 17 | 18 | socket.close(); 19 | server.close(); 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /Module-3_Core_Java/PalindromeChecker.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class PalindromeChecker { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter a string: "); 7 | String input = sc.nextLine(); 8 | 9 | // Normalize string: remove non-alphanumeric and convert to lowercase 10 | String normalized = input.replaceAll("[^a-zA-Z0-9]", "").toLowerCase(); 11 | 12 | // Reverse manually 13 | String reversed = ""; 14 | for (int i = normalized.length() - 1; i >= 0; i--) { 15 | reversed += normalized.charAt(i); 16 | } 17 | 18 | if (normalized.equals(reversed)) { 19 | System.out.println("The string is a palindrome."); 20 | } else { 21 | System.out.println("The string is NOT a palindrome."); 22 | } 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /Module-3_Core_Java/NumberGuessingGame.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | import java.util.Random; 3 | 4 | public class NumberGuessingGame { 5 | public static void main(String[] args) { 6 | Scanner sc = new Scanner(System.in); 7 | Random rand = new Random(); 8 | int numberToGuess = rand.nextInt(100) + 1; 9 | int guess; 10 | 11 | System.out.println("Guess a number between 1 and 100"); 12 | 13 | do { 14 | System.out.print("Enter your guess: "); 15 | guess = sc.nextInt(); 16 | 17 | if (guess > numberToGuess) { 18 | System.out.println("Too high!"); 19 | } else if (guess < numberToGuess) { 20 | System.out.println("Too low!"); 21 | } else { 22 | System.out.println("Correct! You guessed it!"); 23 | } 24 | } while (guess != numberToGuess); 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Module-3_Core_Java/StringReversal.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class StringReversal { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter a string: "); 7 | String input = sc.nextLine(); 8 | 9 | String reversed = ""; 10 | for (int i = input.length() - 1; i >= 0; i--) { 11 | reversed += input.charAt(i); 12 | } 13 | 14 | System.out.println("Reversed string: " + reversed); 15 | } 16 | } 17 | 18 | 19 | //import java.util.Scanner; 20 | 21 | //public class StringReversal { 22 | // public static void main(String[] args) { 23 | // Scanner sc = new Scanner(System.in); 24 | // System.out.print("Enter a string: "); 25 | // String input = sc.nextLine(); 26 | 27 | // String reversed = new StringBuilder(input).reverse().toString(); 28 | // System.out.println("Reversed string: " + reversed); 29 | // } 30 | // } 31 | 32 | -------------------------------------------------------------------------------- /Module-3_Core_Java/JDBCTransaction.java: -------------------------------------------------------------------------------- 1 | import java.sql.*; 2 | 3 | public class JDBCTransaction { 4 | public static void main(String[] args) { 5 | String url = "jdbc:sqlite:bank.db"; 6 | 7 | try (Connection conn = DriverManager.getConnection(url)) { 8 | conn.setAutoCommit(false); 9 | 10 | Statement stmt = conn.createStatement(); 11 | stmt.executeUpdate("UPDATE accounts SET balance = balance - 100 WHERE id = 1"); 12 | stmt.executeUpdate("UPDATE accounts SET balance = balance + 100 WHERE id = 2"); 13 | 14 | conn.commit(); 15 | System.out.println("Transaction successful!"); 16 | } catch (SQLException e) { 17 | System.out.println("Transaction failed. Rolling back..."); 18 | try { 19 | if (conn != null) conn.rollback(); 20 | } catch (SQLException ex) { 21 | System.out.println("Rollback failed."); 22 | } 23 | } 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /Module-3_Core_Java/HashMapExample.java: -------------------------------------------------------------------------------- 1 | import java.util.HashMap; 2 | import java.util.Scanner; 3 | 4 | public class HashMapExample { 5 | public static void main(String[] args) { 6 | HashMap students = new HashMap<>(); 7 | Scanner sc = new Scanner(System.in); 8 | 9 | System.out.println("Enter 3 student ID-name pairs:"); 10 | for (int i = 0; i < 3; i++) { 11 | System.out.print("Enter ID: "); 12 | int id = sc.nextInt(); 13 | sc.nextLine(); // Consume newline 14 | System.out.print("Enter name: "); 15 | String name = sc.nextLine(); 16 | students.put(id, name); 17 | } 18 | 19 | System.out.print("Enter an ID to search: "); 20 | int searchId = sc.nextInt(); 21 | 22 | if (students.containsKey(searchId)) { 23 | System.out.println("Name: " + students.get(searchId)); 24 | } else { 25 | System.out.println("ID not found."); 26 | } 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Module-3_Core_Java/JDBCInsertUpdate.java: -------------------------------------------------------------------------------- 1 | import java.sql.*; 2 | 3 | public class JDBCInsertUpdate { 4 | public static void main(String[] args) { 5 | String url = "jdbc:sqlite:students.db"; 6 | 7 | try (Connection conn = DriverManager.getConnection(url)) { 8 | // Insert 9 | String insertSQL = "INSERT INTO students(id, name) VALUES (?, ?)"; 10 | PreparedStatement psInsert = conn.prepareStatement(insertSQL); 11 | psInsert.setInt(1, 1); 12 | psInsert.setString(2, "John Doe"); 13 | psInsert.executeUpdate(); 14 | 15 | // Update 16 | String updateSQL = "UPDATE students SET name=? WHERE id=?"; 17 | PreparedStatement psUpdate = conn.prepareStatement(updateSQL); 18 | psUpdate.setString(1, "Jane Doe"); 19 | psUpdate.setInt(2, 1); 20 | psUpdate.executeUpdate(); 21 | 22 | System.out.println("Insert and Update completed."); 23 | } catch (SQLException e) { 24 | System.out.println("Error: " + e.getMessage()); 25 | } 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 NAVEENKUMAR M 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Module-3_Core_Java/SimpleCalculator.java: -------------------------------------------------------------------------------- 1 | import java.util.Scanner; 2 | 3 | public class SimpleCalculator { 4 | public static void main(String[] args) { 5 | Scanner sc = new Scanner(System.in); 6 | System.out.print("Enter first number: "); 7 | double a = sc.nextDouble(); 8 | 9 | System.out.print("Enter second number: "); 10 | double b = sc.nextDouble(); 11 | 12 | System.out.print("Enter operation (+, -, *, /): "); 13 | char op = sc.next().charAt(0); 14 | 15 | double result; 16 | switch (op) { 17 | case '+': result = a + b; break; 18 | case '-': result = a - b; break; 19 | case '*': result = a * b; break; 20 | case '/': 21 | if (b != 0) result = a / b; 22 | else { 23 | System.out.println("Error: Division by zero."); 24 | return; 25 | } 26 | break; 27 | default: 28 | System.out.println("Invalid operator"); 29 | return; 30 | } 31 | System.out.println("Result = " + result); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Module-1__HTML5/README.md: -------------------------------------------------------------------------------- 1 | # HTML5 Exercises 2 | # Project Theme: Local Community Event Portal 3 | 4 | _________________________________________________________________________________ 5 | 6 | # 1. Create the HTML5 Base Template 7 | 8 | ![1](https://github.com/user-attachments/assets/90fe5c22-5d79-4891-911b-5b784d59b03e) 9 | 10 | 11 | _________________________________________________________________________________ 12 | 13 | 14 | # 2. Navigation and Linking 15 | 16 | ![2](https://github.com/user-attachments/assets/29f82701-f703-4d83-b7bc-bc9ce2d2081f) 17 | 18 | 19 | _________________________________________________________________________________ 20 | 21 | # 3. Welcome Message with Styling and ID/Class 22 | 23 | ![3](https://github.com/user-attachments/assets/0ae69162-face-43db-beb7-20d6e7da292d) 24 | 25 | 26 | _________________________________________________________________________________ 27 | 28 | # 4. Image Gallery for Community Events 29 | 30 | ![4](https://github.com/user-attachments/assets/7560ad29-0315-498d-8a9c-572dff06c0d5) 31 | 32 | 33 | _________________________________________________________________________________ 34 | 35 | # 5. Event Registration Form 36 | 37 | ![5](https://github.com/user-attachments/assets/22bbf470-26da-46e3-9585-901c5fae5bbc) 38 | 39 | 40 | _________________________________________________________________________________ 41 | 42 | # 6. Event Feedback with Events Handling 43 | 44 | ![6](https://github.com/user-attachments/assets/4b3095c4-b38c-47e6-acc4-54f34ffc92b4) 45 | 46 | 47 | _________________________________________________________________________________ 48 | 49 | # 7. Video Invite with Media Events 50 | 51 | ![7](https://github.com/user-attachments/assets/d2e90f45-62f5-46ac-9df2-8af7820c07b3) 52 | 53 | 54 | _________________________________________________________________________________ 55 | 56 | # 8. Saving User Preferences 57 | 58 | ![8](https://github.com/user-attachments/assets/e0d14ea3-6f2f-486a-a6e5-df9f393fda9d) 59 | 60 | 61 | _________________________________________________________________________________ 62 | 63 | # 9. Geolocation for Event Mapping 64 | 65 | ![9](https://github.com/user-attachments/assets/98bf2ca8-0df7-4d78-8c1b-9a31904ca572) 66 | 67 | 68 | ________________________________________________________________________________ 69 | 70 | # 10. Debugging with Chrome DevTools 71 | 72 | ![10 1](https://github.com/user-attachments/assets/733cad27-98df-45a8-b431-66958c3aa41c) 73 | 74 | ![10 2](https://github.com/user-attachments/assets/ce9174ed-93c2-4097-baa1-585026c91209) 75 | 76 | ![10 3](https://github.com/user-attachments/assets/b989c444-076d-4694-a7de-c2f4e821c551) 77 | -------------------------------------------------------------------------------- /Module-2_ANSI SQL/Implementation.txt: -------------------------------------------------------------------------------- 1 | 2 | 1. SELECT u.full_name, e.title, e.start_date 3 | FROM Users u 4 | JOIN Registrations r ON u.user_id = r.user_id 5 | JOIN Events e ON r.event_id = e.event_id 6 | WHERE e.status = 'upcoming' AND u.city = e.city 7 | ORDER BY e.start_date; 8 | 9 | 2. SELECT e.title, AVG(f.rating) AS avg_rating 10 | FROM Events e 11 | JOIN Feedback f ON e.event_id = f.event_id 12 | GROUP BY e.event_id 13 | HAVING COUNT(f.feedback_id) >= 10 14 | ORDER BY avg_rating DESC; 15 | 16 | 3. SELECT u.full_name, u.email 17 | FROM Users u 18 | WHERE u.user_id NOT IN ( 19 | SELECT r.user_id FROM Registrations r 20 | WHERE r.registration_date >= CURDATE() - INTERVAL 90 DAY 21 | ); 22 | 23 | 4. SELECT e.title, COUNT(*) AS session_count 24 | FROM Sessions s 25 | JOIN Events e ON s.event_id = e.event_id 26 | WHERE TIME(s.start_time) BETWEEN '10:00:00' AND '12:00:00' 27 | GROUP BY e.event_id; 28 | 29 | 5. SELECT u.city, COUNT(DISTINCT r.user_id) AS num_registrations 30 | FROM Registrations r 31 | JOIN Users u ON r.user_id = u.user_id 32 | GROUP BY u.city 33 | ORDER BY num_registrations DESC 34 | LIMIT 5; 35 | 36 | 6. SELECT e.title, 37 | SUM(CASE WHEN r.resource_type = 'pdf' THEN 1 ELSE 0 END) AS pdfs, 38 | SUM(CASE WHEN r.resource_type = 'image' THEN 1 ELSE 0 END) AS images, 39 | SUM(CASE WHEN r.resource_type = 'link' THEN 1 ELSE 0 END) AS links 40 | FROM Events e 41 | LEFT JOIN Resources r ON e.event_id = r.event_id 42 | GROUP BY e.event_id; 43 | 44 | 7. SELECT u.full_name, e.title, f.rating, f.comments 45 | FROM Feedback f 46 | JOIN Users u ON f.user_id = u.user_id 47 | JOIN Events e ON f.event_id = e.event_id 48 | WHERE f.rating < 3; 49 | 50 | 8. SELECT e.title, COUNT(s.session_id) AS session_count 51 | FROM Events e 52 | LEFT JOIN Sessions s ON e.event_id = s.event_id 53 | WHERE e.status = 'upcoming' 54 | GROUP BY e.event_id; 55 | 56 | 9. SELECT u.full_name AS organizer_name, 57 | COUNT(e.event_id) AS total_events, 58 | SUM(e.status = 'upcoming') AS upcoming, 59 | SUM(e.status = 'completed') AS completed, 60 | SUM(e.status = 'cancelled') AS cancelled 61 | FROM Users u 62 | JOIN Events e ON u.user_id = e.organizer_id 63 | GROUP BY u.user_id; 64 | 65 | 10. SELECT e.title 66 | FROM Events e 67 | JOIN Registrations r ON e.event_id = r.event_id 68 | WHERE e.event_id NOT IN ( 69 | SELECT f.event_id FROM Feedback f 70 | ) 71 | GROUP BY e.event_id; 72 | 73 | 11. SELECT registration_date, COUNT(*) AS user_count 74 | FROM Users 75 | WHERE registration_date >= CURDATE() - INTERVAL 7 DAY 76 | GROUP BY registration_date; 77 | 78 | 12. SELECT e.title 79 | FROM Events e 80 | JOIN Sessions s ON e.event_id = s.event_id 81 | GROUP BY e.event_id 82 | ORDER BY COUNT(s.session_id) DESC 83 | LIMIT 1; 84 | 85 | 13. SELECT e.city, AVG(f.rating) AS avg_rating 86 | FROM Events e 87 | JOIN Feedback f ON e.event_id = f.event_id 88 | GROUP BY e.city; 89 | 90 | 14. SELECT e.title, COUNT(r.user_id) AS total_registrations 91 | FROM Events e 92 | JOIN Registrations r ON e.event_id = r.event_id 93 | GROUP BY e.event_id 94 | ORDER BY total_registrations DESC 95 | LIMIT 3; 96 | 97 | 15. SELECT s1.event_id, s1.title AS session1, s2.title AS session2 98 | FROM Sessions s1 99 | JOIN Sessions s2 ON s1.event_id = s2.event_id AND s1.session_id < s2.session_id 100 | WHERE s1.start_time < s2.end_time AND s2.start_time < s1.end_time; 101 | 102 | 16. SELECT full_name 103 | FROM Users 104 | WHERE registration_date >= CURDATE() - INTERVAL 30 DAY 105 | AND user_id NOT IN (SELECT user_id FROM Registrations); 106 | 107 | 17. SELECT speaker_name, COUNT(*) AS session_count 108 | FROM Sessions 109 | GROUP BY speaker_name 110 | HAVING session_count > 1; 111 | 112 | 18. SELECT e.title 113 | FROM Events e 114 | LEFT JOIN Resources r ON e.event_id = r.event_id 115 | WHERE r.resource_id IS NULL; 116 | 117 | 19. SELECT e.title, COUNT(r.user_id) AS total_registrations, AVG(f.rating) AS avg_rating 118 | FROM Events e 119 | LEFT JOIN Registrations r ON e.event_id = r.event_id 120 | LEFT JOIN Feedback f ON e.event_id = f.event_id 121 | WHERE e.status = 'completed' 122 | GROUP BY e.event_id; 123 | 124 | 20. SELECT u.full_name, 125 | COUNT(DISTINCT r.event_id) AS events_attended, 126 | COUNT(DISTINCT f.feedback_id) AS feedbacks_given 127 | FROM Users u 128 | LEFT JOIN Registrations r ON u.user_id = r.user_id 129 | LEFT JOIN Feedback f ON u.user_id = f.user_id 130 | GROUP BY u.user_id; 131 | 132 | 21. SELECT u.full_name, COUNT(f.feedback_id) AS feedback_count 133 | FROM Users u 134 | JOIN Feedback f ON u.user_id = f.user_id 135 | GROUP BY u.user_id 136 | ORDER BY feedback_count DESC 137 | LIMIT 5; 138 | 139 | 22. SELECT user_id, event_id, COUNT(*) AS times_registered 140 | FROM Registrations 141 | GROUP BY user_id, event_id 142 | HAVING times_registered > 1; 143 | 23. SELECT DATE_FORMAT(registration_date, '%Y-%m') AS month, COUNT(*) AS registrations 144 | FROM Registrations 145 | WHERE registration_date >= CURDATE() - INTERVAL 12 MONTH 146 | GROUP BY month; 147 | 24. SELECT e.title, AVG(TIMESTAMPDIFF(MINUTE, s.start_time, s.end_time)) AS avg_duration 148 | FROM Events e 149 | JOIN Sessions s ON e.event_id = s.event_id 150 | GROUP BY e.event_id; 151 | 152 | 25. SELECT e.title 153 | FROM Events e 154 | LEFT JOIN Sessions s ON e.event_id = s.event_id 155 | WHERE s.session_id IS NULL; 156 | -------------------------------------------------------------------------------- /Module-1__HTML5/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | HTML5 Base Template 7 | 29 | 30 | 31 | 32 |
33 | Welcome, User! 34 | Special Offer: 20% off today! 35 |
36 | 37 | 45 | 46 |
47 |
48 |

Welcome to the Portal

49 |

This is the base HTML5 template.

50 |
51 |
52 |

Events

53 |

The Image Gallery.

54 | 55 | 56 | 57 | 61 | 62 | 63 |
Gallery: Highlights Events
58 | The Bug Image 59 |
Bug
60 |
64 |
65 | 66 |
67 |

Event Registration

68 |
69 |
70 |
71 | 72 |
73 |
74 | 75 |
76 |
77 | 78 | 79 |
80 |
81 | 82 |
83 | 90 |
91 | 92 |
93 | 94 |
95 | 96 | 97 |

98 | 99 |
100 | 101 |
102 | 103 | 104 |
105 |

Event Feedback

106 | 107 | 108 |
109 | 110 | 161 | 189 | 190 | 191 |
192 |

Event Promo Video

193 | 197 |
198 |
199 | 200 | 216 | 217 | 218 | 219 | 220 |
221 |

Find Nearby Events

222 | 223 |
224 |
225 | 226 | 261 | 262 | 263 |
264 |

© 2025 CopyRights at NK

265 |
266 | 267 | 268 | -------------------------------------------------------------------------------- /Module-1__HTML5/Steps-with-code.txt: -------------------------------------------------------------------------------- 1 | # HTML5 Exercises 2 | # Project Theme: Local Community Event Portal 3 | 4 | _________________________________________________________________________________ 5 | 6 | # 1. Create the HTML5 Base Template 7 | 8 | 9 | 10 | 11 | 12 | 13 | HTML5 Base Template 14 | 15 | 16 | 17 | 24 | 25 | 26 |
27 | 28 |

Welcome to the Portal

29 |

This is the base HTML5 template.

30 |
31 | 32 | 33 |
34 | 35 |

© 2025 CopyRights at NK

36 |
37 | 38 | 39 | 40 | _________________________________________________________________________________ 41 | 42 | 43 | # 2. Navigation and Linking 44 | 45 | 46 | 47 | 48 | 49 | 50 | HTML5 Base Template 51 | 52 | 53 | 54 | 62 | 63 | 64 |
65 |
66 |

Welcome to the Portal

67 |

This is the base HTML5 template.

68 |
69 |
70 |

Events

71 |

Details about upcoming events will appear here.

72 |
73 |
74 |

Contact

75 |

Contact information goes here.

76 |
77 |
78 | 79 | 80 |
81 |

© 2025 CopyRights at NK

82 |
83 | 84 | 85 | 86 | _________________________________________________________________________________ 87 | 88 | # 3. Welcome Message with Styling and ID/Class 89 | 90 | 91 | < 92 | 93 | 94 | HTML5 Base Template 95 | 109 | 110 | 111 | 112 |
113 | Welcome, User! 114 | Special Offer: 20% off today! 115 |
116 | 117 | 125 | 126 |
127 |
128 |

Welcome to the Portal

129 |

This is the base HTML5 template.

130 |
131 |
132 |

Events

133 |

Details about upcoming events will appear here.

134 |
135 |
136 |

Contact

137 |

Contact information goes here.

138 |
139 |
140 | 141 |
142 |

© 2025 CopyRights at NK

143 |
144 | 145 | 146 | _________________________________________________________________________________ 147 | 148 | # 4. Image Gallery for Community Events 149 | 150 | 151 | 152 | 153 | 154 | 155 | HTML5 Base Template 156 | 178 | 179 | 180 | 181 |
182 | Welcome, User! 183 | Special Offer: 20% off today! 184 |
185 | 186 | 194 | 195 |
196 |
197 |

Welcome to the Portal

198 |

This is the base HTML5 template.

199 |
200 |
201 |

Events

202 |

The Image Gallery.

203 | 204 | 205 | 206 | 210 | 211 | 212 |
Gallery: Highlights Events
207 | The Bug Image 208 |
Bug
209 |
213 |
214 |
215 |

Contact

216 |

Contact information goes here.

217 |
218 |
219 | 220 |
221 |

© 2025 CopyRights at NK

222 |
223 | 224 | 225 | 226 | _________________________________________________________________________________ 227 | 228 | # 5. Event Registration Form 229 | 230 | 231 | 232 | 233 | 234 | 235 | HTML5 Base Template 236 | 258 | 259 | 260 | 261 |
262 | Welcome, User! 263 | Special Offer: 20% off today! 264 |
265 | 266 | 274 | 275 |
276 |
277 |

Welcome to the Portal

278 |

This is the base HTML5 template.

279 |
280 |
281 |

Events

282 |

The Image Gallery.

283 | 284 | 285 | 286 | 290 | 291 | 292 |
Gallery: Highlights Events
287 | The Bug Image 288 |
Bug
289 |
293 |
294 |
295 |

Event Registration

296 |
297 |
298 |
299 | 300 |
301 |
302 | 303 |
304 |
305 | 306 |
307 |
314 | 315 |
316 |
317 | 318 | 319 |

320 | 321 |
322 |
323 | 329 |
330 | 331 |
332 |

© 2025 CopyRights at NK

333 |
334 | 335 | 336 | 337 | _________________________________________________________________________________ 338 | 339 | # 6. Event Feedback with Events Handling 340 | 341 | 342 | 343 | 344 | 345 | 346 | HTML5 Base Template 347 | 369 | 370 | 371 | 372 |
373 | Welcome, User! 374 | Special Offer: 20% off today! 375 |
376 | 377 | 385 | 386 |
387 |
388 |

Welcome to the Portal

389 |

This is the base HTML5 template.

390 |
391 |
392 |

Events

393 |

The Image Gallery.

394 | 395 | 396 | 397 | 401 | 402 | 403 |
Gallery: Highlights Events
398 | The Bug Image 399 |
Bug
400 |
404 |
405 | 406 |
407 |

Event Registration

408 |
409 |
410 |
411 | 412 |
413 |
414 | 415 |
416 |
417 | 418 | 419 |
420 |
421 | 422 |
423 | 430 |
431 | 432 |
433 | 434 |
435 | 436 | 437 |

438 | 439 |
440 |
441 | 442 | 443 |
444 |

Event Feedback

445 | 446 | 447 |
448 | 449 | 500 | 501 | 502 |
503 |

© 2025 CopyRights at NK

504 |
505 | 506 | 507 | 508 | _________________________________________________________________________________ 509 | 510 | # 7. Video Invite with Media Events 511 | 512 | 513 | 514 | 515 | 516 | 517 | HTML5 Base Template 518 | 540 | 541 | 542 | 543 |
544 | Welcome, User! 545 | Special Offer: 20% off today! 546 |
547 | 548 | 556 | 557 |
558 |
559 |

Welcome to the Portal

560 |

This is the base HTML5 template.

561 |
562 |
563 |

Events

564 |

The Image Gallery.

565 | 566 | 567 | 568 | 572 | 573 | 574 |
Gallery: Highlights Events
569 | The Bug Image 570 |
Bug
571 |
575 |
576 | 577 |
578 |

Event Registration

579 |
580 |
581 |
582 | 583 |
584 |
585 | 586 |
587 |
588 | 589 | 590 |
591 |
592 | 593 |
594 | 601 |
602 | 603 |
604 | 605 |
606 | 607 | 608 |

609 | 610 |
611 |
612 | 613 | 614 |
615 |

Event Feedback

616 | 617 | 618 |
619 | 620 | 671 | 672 | 673 |
674 |

Event Promo Video

675 | 679 |
680 |
681 | 682 | 698 | 699 |
700 |

© 2025 CopyRights at NK

701 |
702 | 703 | 704 | 705 | _________________________________________________________________________________ 706 | 707 | # 8. Saving User Preferences 708 | 709 | 710 | 711 | 712 | 713 | 714 | HTML5 Base Template 715 | 737 | 738 | 739 | 740 |
741 | Welcome, User! 742 | Special Offer: 20% off today! 743 |
744 | 745 | 753 | 754 |
755 |
756 |

Welcome to the Portal

757 |

This is the base HTML5 template.

758 |
759 |
760 |

Events

761 |

The Image Gallery.

762 | 763 | 764 | 765 | 769 | 770 | 771 |
Gallery: Highlights Events
766 | The Bug Image 767 |
Bug
768 |
772 |
773 | 774 |
775 |

Event Registration

776 |
777 |
778 |
779 | 780 |
781 |
782 | 783 |
784 |
785 | 786 | 787 |
788 |
789 | 790 |
791 | 798 |
799 | 800 |
801 | 802 |
803 | 804 | 805 |

806 | 807 |
808 | 809 |
810 | 811 | 812 |
813 |

Event Feedback

814 | 815 | 816 |
817 | 818 | 869 | 897 | 898 | 899 |
900 |

Event Promo Video

901 | 905 |
906 |
907 | 908 | 924 | 925 |
926 |

© 2025 CopyRights at NK

927 |
928 | 929 | 930 | 931 | 932 | _________________________________________________________________________________ 933 | 934 | # 9. Geolocation for Event Mapping 935 | 936 | 937 | 938 | 939 | 940 | 941 | HTML5 Base Template 942 | 964 | 965 | 966 | 967 |
968 | Welcome, User! 969 | Special Offer: 20% off today! 970 |
971 | 972 | 980 | 981 |
982 |
983 |

Welcome to the Portal

984 |

This is the base HTML5 template.

985 |
986 |
987 |

Events

988 |

The Image Gallery.

989 | 990 | 991 | 992 | 996 | 997 | 998 |
Gallery: Highlights Events
993 | The Bug Image 994 |
Bug
995 |
999 |
1000 | 1001 |
1002 |

Event Registration

1003 |
1004 |
1005 |
1006 | 1007 |
1008 |
1009 | 1010 |
1011 |
1012 | 1013 | 1014 |
1015 |
1016 | 1017 |
1018 | 1025 |
1026 | 1027 |
1028 | 1029 |
1030 | 1031 | 1032 |

1033 | 1034 |
1035 | 1036 |
1037 | 1038 | 1039 |
1040 |

Event Feedback

1041 | 1042 | 1043 |
1044 | 1045 | 1096 | 1124 | 1125 | 1126 |
1127 |

Event Promo Video

1128 | 1132 |
1133 |
1134 | 1135 | 1151 | 1152 | 1153 | 1154 | 1155 |
1156 |

Find Nearby Events

1157 | 1158 |
1159 |
1160 | 1161 | 1196 | 1197 | 1198 | 1201 | 1202 | 1203 | 1204 | 1205 | ________________________________________________________________________________ 1206 | 1207 | # 10. Debugging with Chrome DevTools 1208 | --------------------------------------------------------------------------------