two red-and-white dices

Introducing Vision Week

Your Gateway to a Virtual Exploration!

Are you ready to dive into an innovative virtual exploration experience? Meet Vision Week, an app designed to offer a comprehensive and interactive platform for users to engage with various forms of content including news, user data, zoo information, and more. This application not only enhances your digital experience but also brings a wealth of information right at your fingertips, making it useful for your daily life.

Features and Functionality

Vision Week is built to cater to a wide range of needs with features such as:

  1. Latest News Updates:
    Stay informed with the most recent articles and news updates. Our app fetches and displays the latest news, ensuring you never miss out on important events.
  2. User Data Management:
    Manage and view user data efficiently. The app allows users to register, log in, and access their profiles seamlessly.
  3. Zoo Information:
    Explore detailed information about various animals and their habitats. This feature is perfect for animal lovers and those curious about wildlife.
  4. Access Logs:
    Keep track of data access logs, providing transparency and security for user interactions with the app.
  5. Design Thinking Quiz:
    Engage in interactive quizzes that challenge your creativity and problem-solving skills.

Technical Overview

Our app is developed using PHP and SQLite, ensuring a lightweight yet powerful backend. Here’s a glimpse of the code that powers Vision Week:

<?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>

User Interface and Daily Usefulness

Vision Week is designed with a user-friendly interface that ensures ease of use and accessibility. The layout is clean and intuitive, making navigation a breeze. Here are a few ideas for the UI and how the app can be useful in daily life:

  1. Dashboard:
    A central hub displaying personalized news feeds, user activity, and quick access to different sections of the app. This makes it easier to stay updated and manage your activities efficiently.
  2. User Profile:
    A dedicated section for managing user profiles, viewing personal data, and updating information. This promotes user engagement and personalizes the experience.
  3. Interactive Zoo Map:
    An engaging and educational feature where users can explore animals through an interactive map, learn about different species, and their habitats. This can be a fun activity for both kids and adults.
  4. Notifications and Alerts:
    Real-time notifications to alert users about important news updates, upcoming quizzes, and more. This keeps users engaged and informed.

Useful Links

Screenshots and Visuals

Here’s a sneak peek at our user interface design:

Dashboard
Caption: The Vision Week Dashboard provides an overview of your activities.

man wearing grey shirt beside green wall
Caption: Manage your profile and view your personal data with ease.


Caption: Explore the zoo interactively and learn about different animals.

Conclusion

Vision Week is not just an app; it’s a comprehensive platform designed to enhance your daily life with its rich features and intuitive design. Stay informed, manage your data, and explore the world around you with Vision Week. We are committed to providing you with the best virtual experience possible.

Stay tuned for more updates and features. Happy exploring!


In conclusion, Vision Week has been an inspiring journey, not only for setting personal goals but also for fostering collaboration and community engagement. As I pursue my side project, TurboZoo, I invite you to join me in this exciting venture.

Whether you’re interested in contributing to the code, sharing ideas, or simply having fun, there’s a place for you. 😁

Check out the project on GitHub or Replit, and don’t miss the video of the first version here.

Our Discord community !


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 *