Skip to main content

Introduction

Products and features give us an understanding of what we are shipping to the users, here we will talk about the end goal, what it should look like. For technical details or to understand how to build things see Development. To understand the widgets, functions and APIs utilixed, see Libraries.

Products

Products are complete "app" experiances, while they may rely on shared functions or data, to the user it is a stand alone "app" or "product", (e.g. Podcast, Music, etc.). This takes affect by the way we brand these "Produts" and by thier user experience.

Features

A feature can be shared, while we still create our own branding around a feature it is not meant to behave as a stand alone "product", (e.g. [On Screen], [ent/transcribe], etc.).

Introduction

In this document we are discusing all the hudi endpoints and how to use the hudi api, for any third party apis please see the dependicies section.

Hudi Backend API Documentation

Overview


Setup and Configuration

  1. Install dependencies: dart pub get

  2. Start the server: dart run bin/server.dart

  3. Environment Variables (.env): Create a .env file in the project root with the following keys:

FIREBASE_API_KEY=your_api_key
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_APP_ID=your_app_id

Firestore Rules

Ensure that your Firestore database is secured with proper rules:

rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth != null;
}
match /profiles/{userId} {
allow read, write: if request.auth != null; } } }

Authentication

All routes require a valid Firebase Bearer Token in the request header.

Example Header: Authorization: Bearer YOUR_FIREBASE_TOKEN

API Endpoints

Testing with Postman

  1. Open Postman.
  2. Set Authorization to Bearer Token with a valid Firebase token.
  3. Send requests to the endpoints listed above.

Contributors

Developer: Raphael Benitah

Last Updated: February 25, 2025