Vision Week is a web and mobile application that offers a unique virtual zoo experience using VR headsets. Users can explore various paths and access video content at each point of interest on the zoo map. The content is accessible via a monthly subscription purchased within the app.
Vision Week is an innovative project that began on March 1, 2024, and will run until July 1, 2024. It immerses users in virtual reality, inspired by Tim Cook’s Apple Vision Pro and Mark Zuckerberg’s Meta platforms. The project showcases the combination of virtual exploration and real-world interactions.
Agile method with Scrum Slack, Confluence and Jira
Vision Week is an innovative project that began on March 1, 2024, and will run until July 1, 2024. It immerses users in virtual reality, inspired by Tim Cook’s Apple Vision Pro and Mark Zuckerberg’s Meta platforms. The project showcases the combination of virtual exploration and real-world interactions.
Agile method with Scrum Slack, Confluence and Jira
If it doesn’t work, try the video presentation
1ebf87c (refactor: Update file paths and use relative paths for assets, scripts, and stylesheets)
Features
git clone https://github.com/Kvnbbg/Vision-Week-Virtual-Exploration.git
cd Vision-Week-Virtual-Exploration
flutter run -d chrome
flutter build apk
flutter build ios
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>
<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>
</body>
</html>
We welcome contributions to improve this project! Feel free to fork the repository and submit pull requests with your enhancements.
Read our CONTRIBUTING guidelines for more details.
Your sponsorship 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!
This project was created by Kevin MARVILLE for STUDI. Special thanks to STUDI for their support and inspiration.
For more information, visit kvnbbg.fr.
We appreciate all the contributors who have helped make this project better.
Check out my side project, TurboZoo: