Audiverse is a collaborative platform designed to connect users worldwide through the sharing and discovery of unique soundscapes. This project emphasizes an immersive experience, where captured and shared sounds enhance our understanding and appreciation of the diversity of our planet.
The main objective is to allow users to explore sounds recorded around the world via an interactive interface featuring a connected map and list. The platform also offers functionalities such as sound uploads, profile management, and role-specific interactions (logged-in vs non-logged-in users).
Description: The navigation bar showcases our platform name, provides access to different pages, and includes account management functions (login, logout, signup), and a search function.
Functionalities:
-
Accessing different pages
- For all users: Displays access to Home Page.
- For logged-in users: Additionally displays access to My Profile Page and Upload Sound Page.
-
Account management
- For all users: Login and sign-up pop-up forms accessed via buttons.
- For logged-in users: Logout function accessible via a button.
- Login error and sign-up success messages appear under the bar.
-
Search by sound title in the search bar across all available sounds
- Navigates to the Search Results Page.
-
UI Features:
- Hovering over navigation items adds a blue shadow.
- The current active page is bolded in the navigation bar.
Description: An interactive map (Leaflet) lets users discover sounds via markers. A corresponding sound list is displayed on the left. A search bar is available.
Functionalities:
-
Browse the sounds (as map markers) by navigating the map
- Clicking on a marker opens a popup details pane with metadata including sound name, uploader name, location, and a hyperlink to the Sound Page.
-
- Includes the sound name, uploader name, and associated tags.
- Browse by page (5 sounds per page).
- Browse by filtering sound tags.
- Clicking a sound name (hyperlink) navigates to the Sound Page.
Description: Allows logged-in users to add new sounds to the system.
Functionalities:
- Users fill out a form requiring a sound title and audio file upload. Tags can be applied (optional).
- Users select a location on the map for the sound.
- The uploader name is auto-filled as their username.
- Access restriction:
- If a non-logged-in user tries to access this page via URL, they are redirected to the Home Page.
Description: Displays detailed information about a specific sound and allows listening.
Functionalities:
- Users can view sound metadata (title, uploader, location, upload time, and tags).
- Users can play the sound file.
- Users can see the sound’s location marker on the map.
Description: Shows the user’s account information and all sounds they uploaded.
Functionalities:
- View personal details (username and email).
- View uploaded sounds in a list format (same as Home Page).
- Delete uploaded sounds.
- All uploaded sounds are markerned to the map.
- Access restriction:
- Non-logged-in users attempting to access this page via URL will be redirected to the Home Page.
Description: Displays the user’s search query results.
Functionalities:
- View all sounds matching the query (displayed in a list like on the Home Page).
- All searched sounds are markerned to the map.
-
Bidirectional interaction: The map displays sound locations as markers.
-
Clicking a marker on the map highlights the corresponding sound in the list on the left (auto-scroll down if necessary), opens the popup details and zooms the marker to the centre.

-
Hovering over a list item opens up the popup details of the marker on the map and the map shifts to show the marker in its view.
- Clicking a list item centers the marker on the map with the popup open.
-
- Users select a location on the map, and the selected marker's location auto-fills the “Location” field in the upload form.
- The location marker of the sound being played is visible on the map, with its popup open by default.
- Can browse the map and listen to sounds.
- Limited interface access (cannot view profiles, upload, or delete sounds).
- Can browse the map and listen to sounds.
- Can upload sounds, view their profile, and delete their own uploads.
This JSON file contains two arrays: sound and tags.
- ID: Unique identifier generated based on upload time.
- Title: Descriptive name of the sound.
- FilePath: Uploaded audio file name on the server.
- Tags: Associated categories (e.g., rain, traffic).
- Location: Geographic coordinates (latitude, longitude, city, country).
- Upload DateTime: Timestamp of the upload.
- Uploader: Username of the uploader.
- Audio Format: File type (e.g., MP3, WAV).
"nature","forest","relaxing","water","ocean","urban","rain","animals","birds","wind","instrumental","classical","rock","ambient","white noise","thunderstorm","fireplace","cityscape","meditation","sports","traffic","festival","mountains"
Users are represented by the following properties:
- User ID: User email.
- Username: Defined by the user.
- Password: Defined by the user.
- Developed using Node.js.
- Handles user and sound management via a REST API.
- Persistent data stored in a JSON file (
sounds.json). - Express middleware implements an MVC model.
- EJS for dynamic views and base layout template.
- Leaflet.js for the interactive map.
- CSS and JavaScript for a responsive, user-friendly interface.
- Sound data and users are stored in a JSON format.
- Sound files are hosted locally for persistence.
- Session management ensures secure user login and role-based access.
Vivian LI and Francisco AYORA DUARTE
