the Vision Week project

the Vision Week project

About Vision Week

Vision Week, formerly known as the Exploration Video Website, is designed to provide an immersive experience for exploration enthusiasts. With a user-friendly interface and a variety of features, Vision Week makes it easy to discover and learn about different types of explorations.

Features

  • Explore by Category: Discover videos organized by exploration type.
  • Search Functionality: Find specific videos using keywords or location.
  • Detailed Information: Learn more about each exploration with descriptions, source links, and additional resources.
  • Interactive Games: Engage with fun and educational games such as:
  • Game I: An object interaction game where users click on moving objects to score points.
  • Game II: A 3D visualization game that displays recorded data from Game I using Three.js.
  • Latest News Updates: Stay informed with the most recent articles and news updates fetched and displayed from the database.
  • User Data Management: Manage and view user data efficiently, including registration, login, and profile management.
  • Zoo Information: Explore detailed information about various animals and their habitats, perfect for animal lovers and those curious about wildlife.
  • Access Logs: Keep track of data access logs, providing transparency and security for user interactions with the app.

Upcoming Work

My next focus will be on incorporating unit testing into Vision Week using PHPUnit. Unit testing is crucial for ensuring the reliability and stability of the application, yet there are not many comprehensive videos explaining test case creation and execution. To fill this gap, I will create a detailed video tutorial on using PHPUnit with Vision Week.

Future Plans

  • Design Improvements: If time permits, I will work on enhancing the design of Vision Week using Figma. Design improvements will focus on making the user interface more intuitive and visually appealing.
  • Additional Features: Implementing user comments and ratings to foster a more interactive community experience.
  • Video Platform Integration: Expanding the video library by integrating with platforms like YouTube or Vimeo.

Technologies Used

  • Frontend: HTML, CSS, JavaScript
  • Backend: PHP (planned for future implementation)
  • Database: SQLite, with plans to migrate to MySQL in the future

How to Contribute

We welcome contributions to improve Vision Week! Feel free to fork the repository and submit pull requests with your enhancements. Read our CONTRIBUTING guidelines for more details.

Support Vision Week

Your support helps cover expenses such as hosting fees, domain registration, and development tools, allowing us to continue improving and expanding Vision Week for the community. Read more about SPONSORING Vision Week. Thank you for your support!

Useful Links

Side Project for Fun

Check out my side project, TurboZoo:

<?php
require_once 'config.php';
session_start();

function getDatabaseConnection($dbFile) {
    try {
        $db = new PDO('sqlite:' . $dbFile);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $db;
    } catch (PDOException $e) {
        error_log($e->getMessage());
        return null;
    }
}

function fetchFromDatabase($db, $query) {
    try {
        $stmt = $db->query($query);
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
        error_log($e->getMessage());
        return [];
    }
}

$db = getDatabaseConnection(DB_FILE);
$usersDb = getDatabaseConnection('sql/users.db');
$zooDb = getDatabaseConnection('sql/zoo.db');
$dataDb = getDatabaseConnection('sql/data.db');

$articles = fetchFromDatabase($db, "SELECT title, content, published_at FROM news ORDER BY published_at DESC LIMIT 3");
$users = fetchFromDatabase($usersDb, "SELECT * FROM Users");
$zoo = fetchFromDatabase($zooDb, "SELECT * FROM Zoo");
$logs = fetchFromDatabase($dataDb, "SELECT * FROM DataAccessLog");

$welcomeMessage = isset($_SESSION['user']) ? "Welcome back, " . htmlspecialchars($_SESSION['user']['username']) . "!" : "Welcome to our website!";
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vision Week, a virtual exploration!</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <?php if (file_exists('header.php')) include 'header.php'; ?>
    <?php if (file_exists('navigation.php')) include 'navigation.php'; ?>

    <main>
        <button onclick="openDesignThinkingQuiz()">Take the Design Thinking Quiz</button>

        <h1><?php echo htmlspecialchars($welcomeMessage); ?></h1>

        <section>
            <?php if (!empty($articles)): ?>
                <h2>Latest News</h2>
                <ul>
                    <?php foreach ($articles as $article): ?>
                        <li>
                            <h3><?php echo htmlspecialchars($article['title']); ?></h3>
                            <p><?php echo htmlspecialchars($article['content']); ?></p>
                            <p class="published-date">Published: <?php echo htmlspecialchars($article['published_at']); ?></p>
                        </li>
                    <?php endforeach; ?>
                </ul>
            <?php else: ?>
                <p>No recent news articles found.</p>
            <?php endif; ?>
        </section>

        <section>
            <h2>User Data</h2>
            <?php if (!empty($users)): ?>
                <ul>
                    <?php foreach ($users as $user): ?>
                        <li><?php echo htmlspecialchars($user['username']); ?> - <?php echo htmlspecialchars($user['email']); ?></li>
                    <?php endforeach; ?>
                </ul>
            <?php else: ?>
                <p>No user data found.</p>
            <?php endif; ?>
        </section>

        <section>
            <h2>Zoo Data</h2>
            <?php if (!empty($zoo)): ?>
                <ul>
                    <?php foreach ($zoo as $animal): ?>
                        <li><?php echo htmlspecialchars($animal['animal_name']); ?> (<?php echo htmlspecialchars($animal['animal_type']); ?>) - <?php echo htmlspecialchars($animal['country_name']); ?></li>
                    <?php endforeach; ?>
                </ul>
            <?php else: ?>
                <p>No zoo data found.</p>
            <?php endif; ?>
        </section>

        <section>
            <h2>Access Logs</h2>
            <?php if (!empty($logs)): ?>
                <ul>
                    <?php foreach ($logs as $log): ?>
                        <li>User ID: <?php echo htmlspecialchars($log['user_id']); ?> accessed Data ID: <?php echo htmlspecialchars($log['data_id']); ?> at <?php echo htmlspecialchars($log['access_time']); ?> for action: <?php echo htmlspecialchars($log['action']); ?></li>
                    <?php endforeach; ?>
                </ul>
            <?php else: ?>
                <p>No access logs found.</p>
            <?php endif; ?>
        </section>
    </main>

    <?php if (file_exists('footer.php')) include 'footer.php'; ?>

    <script src="/assets/script.js"></script>
    <script src="/conception/receuil-des-besoins/design_thinking.js"></script>
</body>
</html>

Feel free to reach out if you have any questions or suggestions !


Discover more from Kvnbbg.fr

Subscribe to get the latest posts sent to your email.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *