This Video Server application is designed to facilitate the storage and retrieval of video content. It leverages MongoDB for user management and Azure Blob Storage for storing the video files, providing a robust and scalable solution for video content management.
- User Authentication: Secure login and registration functionality for users.
- Video Upload: Allows users to upload videos to Azure Blob Storage.
- Video Retrieval: Users can fetch the list of their uploaded videos.
- Scalable Storage: Utilizes Azure Blob Storage for scalable and secure video file storage.
To get started with this application, you will need to set up MongoDB, Azure Blob Storage, and Supabase. Follow the steps below to configure your environment.
- Node.js installed on your machine.
- An Azure account with an active subscription.
- A MongoDB database.
- Docker
-
Create a MongoDB database and obtain your connection string.
-
Update the
.env
file with your MongoDB connection string as shown below:MONGO_DB_URI="your_mongodb_connection_string_here"
-
Create an Azure Blob Storage account through the Azure Portal.
-
Obtain your storage account name and connection string.
-
Update the
.env
file with your Azure Blob Storage details:AZURE_STORAGE_ACCOUNT_NAME='your_storage_account_name_here'
AZURE_STORAGE_ACCOUNT_KEY='your_storage_account_key_here'
Create a .env
file in the root of your project and update it with the necessary details as mentioned above. You can use the .env.example
as a template:
cp .env.example .env
-
Install the dependencies:
npm install
-
Initialize Supabase
npx supabse init npx supabase start
-
Start the server:
npm start
Alternatively, if you're using nodemon for development:
npm run dev
-
The server will start on the port specified in your
.env
file, or 8080 by default. You can access the API athttp://localhost:8080
.
Access the Swagger UI for the API documentation by navigating to http://localhost:8080/api-docs
in your web browser. This documentation provides detailed information about the available endpoints, request parameters, and response structures.
Contributions are welcome! Please fork the repository and submit pull requests with any enhancements, bug fixes, or suggestions.
Specify the license under which your project is made available. Common licenses for open source projects include MIT, GPL, and Apache 2.0.