Skip to content

BirthdayWishes is a web application for sending and viewing personalized birthday video greetings. The project allows users to upload birthday greeting videos from different friends, and the birthday person can view them with the option to switch between videos.

License

Notifications You must be signed in to change notification settings

Riffaells/BirthdayWishes

Repository files navigation

🎉 BirthdayWishes 🎉

BirthdayWishes is a web application for sending and viewing personalized birthday video greetings. The project allows users to upload birthday greeting videos from different friends, and the birthday person can view them with the option to switch between videos.

Русский | English

preview

📋 Description

BirthdayWishes is designed to gather all birthday greetings in one place, providing a simple and convenient interface for viewing them. Users can watch videos, skip to specific parts, and switch between greetings using navigation buttons.

🚀 Technologies

  • Backend: Django
  • Frontend: Vue.js, Video.js, Bootstrap
  • Database: SQLite
  • Other libraries: FFmpeg for streaming video processing

📂 Project Structure

BirthdayWishes/
├── app/                # Django applications
│   ├── api/            # API for videos
│   ├── videos          # Video model
│   └── wish            # ? Under consideration
├── BirthdayWishes      # Django settings
├── media/              # Uploaded video storage
│   ├── hsl/            # Converted videos for streaming
│   └── videos/         # Original videos, recommended to upload in mp4 format
├── core                # Main application
├── locale              # Translations
├── static/             # Static files (CSS, JS)
│   ├── css/
│   ├── img/
│   └── js/
└── README.md           # Project documentation

📦 Installation and Setup

Requirements

  • Python
  • FFmpeg (for video conversion and processing)

Installation

  1. Clone the repository and navigate to the project directory:
git clone https://github.com/Riffaells/BirthdayWishes.git
cd BirthdayWishes
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # For Linux/macOS  # For Windows venv\Scripts\activate
  1. Install project dependencies:
pip install -r requirements.txt
  1. Set up the database and run migrations:
python manage.py makemigrations
python manage.py migrate
  1. Create a superuser:
python manage.py createsuperuser 
  1. Collect static files:
python manage.py collectstatic
  1. Start the development server:
python manage.py runserver
python manage.py runserver 0.0.0.0:8000 # If deploying locally
  1. Open the application in a browser:

Go to http://localhost:8000 to access the application.

FFmpeg

Ensure that FFmpeg is installed on your device and available in PATH. You can check its installation by running:

ffmpeg -version

📖 API Endpoints

  • GET /api/videos/: Returns a list of all videos in JSON format.

Sample JSON Response for /api/videos/

[
    {
        "id": "uuid-12345",
        "title": "Happy Birthday from John",
        "file": "/media/videos/uuid-12345.m3u8",
        "author": "John",
        "wish_message": "Happy Birthday! Wishing you all the best!",
        "created_at": "2024-11-03T10:15:30Z"
    }
]

📚 Useful Commands

  • Start development server: python manage.py runserver
  • Database migration: python manage.py migrate
  • Create superuser: python manage.py createsuperuser

📄 License

This project is distributed under the MIT license. See the LICENSE file for more information.

🎂 Enjoy using BirthdayWishes! May each birthday be filled with warm wishes and joy! 🎂

About

BirthdayWishes is a web application for sending and viewing personalized birthday video greetings. The project allows users to upload birthday greeting videos from different friends, and the birthday person can view them with the option to switch between videos.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published