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
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.
- Backend: Django
- Frontend: Vue.js, Video.js, Bootstrap
- Database: SQLite
- Other libraries: FFmpeg for streaming video processing
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
- Python
- FFmpeg (for video conversion and processing)
- Clone the repository and navigate to the project directory:
git clone https://github.com/Riffaells/BirthdayWishes.git
cd BirthdayWishes
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # For Linux/macOS # For Windows venv\Scripts\activate
- Install project dependencies:
pip install -r requirements.txt
- Set up the database and run migrations:
python manage.py makemigrations
python manage.py migrate
- Create a superuser:
python manage.py createsuperuser
- Collect static files:
python manage.py collectstatic
- Start the development server:
python manage.py runserver
python manage.py runserver 0.0.0.0:8000 # If deploying locally
- Open the application in a browser:
Go to http://localhost:8000 to access the application.
Ensure that FFmpeg is installed on your device and available in PATH. You can check its installation by running:
ffmpeg -version
- GET /api/videos/: Returns a list of all videos in JSON format.
[
{
"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"
}
]
- Start development server:
python manage.py runserver
- Database migration:
python manage.py migrate
- Create superuser:
python manage.py createsuperuser
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! 🎂