Skip to content

celluloid-camp/celluloid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Celluloid is a collaborative video annotation application designed for
educational purposes.

Celluloid

Docker Build Tests Uptime Robot status

Overview

demo.mp4

Celluloid is a collaborative video annotation application designed for educational purposes.

With Celluloid, you can import a PeerTube video, select an educational objective, annotate the video, share it with your students, collect their answers, and respond to their questions.

✨ Demo

Visit https://celluloid.me/, create an account, and start using Celluloid. We value your feedback on the application's user experience and design. If you encounter any bugs or issues, please don't hesitate to report them.

Development Team

Celluloid originated from a research project led by Michaël Bourgatte and Laurent Tessier, two senior lecturers at the Catholic University of Paris. Their work focuses on educational science and digital humanities. Celluloid is currently maintained by Younes Benaomar following an initial technical design by Erwan Queffélec in 2017-2018.

We actively encourage contributions and involvement from the community. Feel free to reach out to us on Discussions.

Setup

Prerequisites

Environment

Celluloid is designed to run on a Linux server. Proficiency with the command-line interface is necessary for deployment and installation. It's highly recommended to use an OSX or Linux workstation.

🔨 Tools

  • Install the latest version of Git.
  • Install the latest version of Node.js.
  • Install the latest version of Pnpm and use it instead of NPM.

The project is organized as a monorepo, so Pnpm is required to leverage pnpm workspace.

Deploy in production

We provide a complete docker stack stack.yml ready to use :

docker compose -f stack.yml up

Development

Installation from Source

Initial steps

Open your terminal and execute the following commands:

git clone https://github.com/celluloid-camp/celluloid.git
cd celluloid/
pnpm

Configuration

Copy the sample environment file:

cp env.sample .env

📦 Database

You will need a working PostgreSQL server, version 13 or later.

you can use this docker compose file to start a all services required to run the project :

docker compose up

🗂️ Storage

You are required to supply an S3-compatible storage service. For this purpose, we have set up the project to utilize Minio.

Open the newly created .env file with your preferred text editor and configure the values according to your requirements.

Development Mode

For development purposes, you can use the provided Docker Compose docker-compose.yml and run the command:

At the root of your repository, run the projet in development mode:

pnpm dev

This will initiate an interactive build and open the app in a browser window while continuously monitoring source files for modifications. If everything worked without errors, you should be all set. Otherwise, please review the instructions above carefully.

Production Preview

Build and start the application:

pnpm build
pnpm start

You can access your app at http://localhost:3000.

Building and starting the application as a docker Container

Open a terminal at the repository's root and run:

docker compose up

Minio is used for storage, make sure to run local instance or use external service and don't forget to update your .env file

Contributing

*We actively welcome motivated contributors!

Feel free to open a pull request, contact us, or report a bug.

Translation

inlang status badge

V1 Legacy

You can still find the old Celluloid version 1 that supports YouTube videos here.

Celluloid is a collaborative video annotation application designed for
educational purposes.

Packages

 
 
 

Languages