Giter VIP home page Giter VIP logo

lyonjs / shortvid.io Goto Github PK

View Code? Open in Web Editor NEW
95.0 8.0 22.0 37.1 MB

Repository to generate meetup trailers for social network like Twitter, Reddit, Slack to announce speakers and talks and sponsors πŸ“£

Home Page: https://shortvid.io

License: MIT License

TypeScript 94.29% Shell 0.01% JavaScript 3.45% CSS 2.15% Dockerfile 0.10%
remotion video conference communications nextjs react contributions-welcome hacktoberfest

shortvid.io's Introduction

Shortvid.io πŸŽ₯

🚧 Integration GitHub commit activity (branch) GitHub GitHub Repo stars

πŸ“š Story behind this project

One day, LyonJS organisation team wanted to communicate more on their social media. Generating video was really time consuming and we wanted to simplify it.

This github project use Remotion library to generate video, take a look at the remotion doc in order to understand how to use it.

🍻 How to participate in this project?

It depends on who you are and what are your usage of those video. First take a look at our Code of conduct and Remotion license in order to be sure you respect both.

This project need more visibility, it you want to help us freely, a ⭐️ could help a lot.

If you want to promote public events (Tech Meetup or Conference)

Maintainer team want to be able to help meetups, conferences that need to generate content for their event. As LyonJS organisation team, we know this is normally really long to do and we hope this project and initiative could help you on that.

  • Generating videos for promoting your event on social medias
Example
2_5_RSFB4Oq1k0AafqRJeZ4z-aurelieVache.2.mp4
  • Generating all introduction video / thumbnail for replay of conference talks
Example Example of Video Thumbnail
  • Generating image for print usage (posters, feedback board, plannings,...)

We could use Rest API or JSON configuration to generate all your content in few minutes.

Ask maintainers for help by opening a discussion in our discussion topic dedicate to this usage.

If you want to promote corporate events

This project won't handle corporate of private events related to company stuff. We want to provide generic templates that you can use in order to generate your content. Templates will use customisation props to let you match your color / theme / logos.

If you have an idea of a generic template that could be able for all communities, don't hesitate to present it in our idea discussion

To preview templates, just go to our website and play with props.

Any other need or specific stuff

Don't hesitate to fork this repository to implement your specific need. Discussion for help is here if you have questions or ideas that could help you generate the content you want.

✍️Contributing

Take a look at the contributing documentation

Sponsor

Vercel

shortvid.io's People

Contributors

berthetlucas avatar boyadjie avatar cruuzazul avatar hugogresse avatar jlandure avatar mathieumure avatar mfrachet avatar olivmertens avatar pedenys avatar renovate[bot] avatar slashgear avatar vgallet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shortvid.io's Issues

πŸ’‘ Create `BackgroundFiller` atom

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to create a new BackgroundFiller atom to be used in our compositions

Use Case ✍🏼

We want to have a single atom where we can put the entire background of a video with an Image or a Lottie and where we can override the style for the animations and the few differences.

ℹ️ Once this is done, update the different templates

πŸ’‘ Create font picker atom

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to let the user choose the font of the video. To do that we can create a font-picker atom that will allow the user to write the name of a font and then select it from a list.

Use Case ✍🏼

When users want to generate a video but the default font do not work for it.

Possible Solution πŸ’‘

An atom named FontPicker that is based on the one from the remotion doc (see : https://www.remotion.dev/docs/font-picker) but that use a datalist instead of a select input. The displayed list will not only show the font named but also the font itself on the style of the option (for example : on the list you have the option Roboto styled with the font Roboto to see how it looks).

πŸ’‘ Be able to have more than one speaker

Feature Request πŸ‘¨πŸΌβ€πŸ’»

It could be really useful to be able to pass a secondarySpeaker image url to generate talks.

Use Case 🫡🏼

Conference often host talks with 2 speakers (not more, or very few). It could be great to handle a custom animation for that

Add page with Examples of generated videos

  • Home page should gather examples of generated videos
  • Those examples should be configured with a JSON file in order to let us add more examples in the futur
  • Meetup page should move to a /meetup url

πŸ’‘ Improve our types in all components

Feature Request πŸ‘¨πŸΌβ€πŸ’»

In our current components we sometimes have types that are not the right ones or that are indicated as any we want to have clean typescript code !

πŸ’‘ Test: ActiveLink component

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to test the components on the app

Use Case ✍🏼

At any modification on the code we want to be sure that everything work fine.

Possible Solution πŸ’‘

Create the test file and make the test using jest and react-testing-library

πŸ’‘ Implement responsive design for the SideBar

Feature Request πŸ‘¨πŸΌβ€πŸ’»

Implement responsive design for the SideBar component πŸ“±

Use Case ✍🏼

As users, we want the SideBar component to adapt and provide a seamless user experience across different devices and screen sizes. By introducing a responsive design for the SideBar, we aim to enhance usability and ensure optimal navigation on both desktop and mobile devices.

Possible Solution πŸ’‘

  1. Identify the breakpoints or screen sizes for responsive design.
  2. Modify the SideBar component's CSS or styling to adapt its layout based on screen width.
  3. Test the responsive behavior on various devices and screen resolutions.
  4. Optimize touch interactions for mobile devices.

πŸ’‘ Create `IconCaption` atom

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to create a new IconCaption atom to be used in our compositions

Use Case ✍🏼

In many compositions we currently display information for conferences in the form of an icon and a corresponding caption (e.g. Devoxx). We want to have a component that displays an icon and a text.

Possible Solution πŸ’‘

We don't know yet if we want to make one atom for the icon version and another for the lottie version. We should see if it is possible to make one for both. If it is not possible, or if the atom becomes too complex, we will make two different atoms

ℹ️ Once this is done, update the different templates

πŸ—οΈ Refacto useInputDateChange

Feature Request πŸ‘¨πŸΌβ€πŸ’»

Refacto the function useInputDateChange that is almost the same as useInputChange but with a twist in the value assignation

Use Case ✍🏼

We don't want duplicated code and we want to use the same function everywhere

Possible Solution πŸ’‘

Add a condition on the type of the value passed that change the assignation if it's a Date

🎞️ We are looking for a sponsor/host

Describe the template 🎬

We sometimes have subject with company sponsor. In order to communicate we would need to ask for sponsoring/hosting.

Items to display πŸ“Ί

  • Sponsor name
  • Sponsor logo

🐞 Fix useLottie to avoid freeze

Describe the bug πŸ›

From time to time on the application when we have a player that displays lotties we have the application freezing. The problem comes from the display of our lotties and maybe more precisely from the hook. We need to find out where this is coming from and fix the problem

Expected behavior 🦾

The application should not freeze πŸ€·πŸΌβ€β™‚οΈ

πŸ’‘ Remove LyonJS assets from the project

Feature Request πŸ‘¨πŸΌβ€πŸ’»

In order to detach the project from the LyonJS graphic identity, we want to modify the design to adapt it to the new colours

Use Case ✍🏼

When a user visits the site it must be differentiated from the LyonJS graphic identity

Possible Solution πŸ’‘

Use the new colour variables and a new logo (although it may be modified later)

🎞️ Add Dark Mode and Light Mode

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to add Dark Mode and Light Mode options to the application's user interface. πŸŒ—

Use Case ✍🏼

As users, we want the ability to customize the application's appearance based on our preferences and environment lighting. By introducing Dark Mode and Light Mode options, we aim to enhance the user experience and provide a visually comfortable interface for both day and night usage.

Possible Solution πŸ’‘

To implement the Dark Mode and Light Mode functionality, we can follow these steps:

  1. Identify the core components of the user interface that need to be modified for Dark Mode and Light Mode, such as backgrounds, text colors, and button styles.
  2. Create all default variables for theme colors.
  3. Based on the selected mode, dynamically apply the appropriate CSS styles to the relevant components.
  4. Consider providing a default mode based on the system settings or user preferences if no explicit selection is made.

πŸ’‘ Reorganise the public folder

Feature Request πŸ‘¨πŸΌβ€πŸ’»

The public folder is a bit messy, there is a lot of images at the root of the folder that are used for different purposes.
The conferences folder is also messy, there is pictures at the root that could be put in folders.

Screenshot 2023-05-26 at 11 37 21

Use Case ✍🏼

When you want to add a default picture you just drop it at the roots of the public folder

Possible Solution πŸ’‘

  • Create an app folder and a default folder inside public/images/ and moves the corresponding images inside.
  • Create folders for conferences under public/images/conferences.

πŸ’‘ Create `fontContext` to generalise the default font

Feature Request πŸ‘¨πŸΌβ€πŸ’»

In the app as in the remotion preview, we need to have a default font. Today, its set every time we need a font.

Use Case ✍🏼

It will allow us to use the same default font everywhere, especially in the remotion preview, when you just want to see an atom, it's better with a good font.

Possible Solution πŸ’‘

Create a fontContext with by default the font 'noto-sans' and use it for the remotion preview and the app

πŸ’‘ Create `Details` molecule for talk

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to create a new Details molecule to be used in our compositions

Use Case ✍🏼

In many compositions a Details component is used which has been duplicated each time for some differences. We want to have a single component where we can override the style for the animations and the few differences.

Possible Solution πŸ’‘

Using the atom created with #215 we can juste make a component we can just make a component that displays three IconCaption for the date, time and location. These parameters will of course be optional

ℹ️ Once this is done, update the different templates

List of example of videos

Github can host video in comment and issue.
The purpose of this issue is to store those videos for documentation.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • chore(deps): lock file maintenance

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
Dockerfile
github-actions
.github/workflows/check-pr-title.yml
  • Slashgear/action-check-pr-title v4.3.0
.github/workflows/integration.yml
  • pnpm/action-setup v3.0.0
  • pnpm/action-setup v3.0.0
  • pnpm/action-setup v3.0.0
  • actions/upload-artifact v4
  • pnpm/action-setup v3.0.0
.github/workflows/pr-labeler.yml
  • BedrockStreaming/pr-size-labeler v2.0.0
npm
package.json
  • @remotion/bundler 4.0.140
  • @remotion/cli 4.0.140
  • @remotion/google-fonts 4.0.140
  • @remotion/lottie 4.0.140
  • @remotion/noise 4.0.140
  • @remotion/player 4.0.140
  • @remotion/renderer 4.0.140
  • @remotion/shapes 4.0.140
  • @remotion/zod-types 4.0.140
  • @types/jest 29.5.12
  • @vercel/analytics ^1.0.0
  • body-parser 1.20.2
  • cors 2.8.5
  • express 4.19.2
  • jest 29.7.0
  • lottie-web 5.12.2
  • luxon ^3.4.4
  • morgan 1.10.0
  • next 14.2.3
  • next-themes 0.3.0
  • node-fetch ^3.3.0
  • react 18.3.1
  • react-dom 18.3.1
  • react-json-editor-ajrm ^2.5.14
  • remotion 4.0.140
  • zod 3.23.8
  • @iconify/react ^4.1.0
  • @remotion/eslint-plugin 4.0.140
  • @testing-library/dom 9.3.4
  • @testing-library/jest-dom 6.4.5
  • @testing-library/react 14.3.1
  • @testing-library/user-event 14.5.2
  • @types/lodash 4.17.1
  • @types/luxon ^3.4.2
  • @types/node 20.12.12
  • @types/react 18.3.2
  • @types/react-dom 18.3.0
  • @types/react-json-editor-ajrm ^2.5.3
  • @types/testing-library__jest-dom 5.14.9
  • @types/web 0.0.144
  • @typescript-eslint/eslint-plugin 7.9.0
  • @typescript-eslint/parser 7.9.0
  • autoprefixer 10.4.19
  • debug 4.3.4
  • eslint 8.57.0
  • eslint-config-next ^14.0.0
  • eslint-plugin-import 2.29.1
  • eslint-plugin-simple-import-sort 12.1.0
  • husky 9.0.11
  • jest-environment-jsdom 29.7.0
  • jest-fetch-mock ^3.0.3
  • lodash 4.17.21
  • postcss 8.4.38
  • postcss-nested 6.0.1
  • prettier 3.2.5
  • pretty-quick 4.0.0
  • tailwindcss 3.4.3
  • typescript 5.4.5
  • yargs 17.7.2
  • node >=18
  • pnpm 8.15.8

  • Check this box to trigger a request for Renovate to run again on this repository

πŸ’‘ Pre-fill form inputs with query params

Feature Request πŸ‘¨πŸΌβ€πŸ’»

Add query params to the pages that contains a form to pre-fill it's field

Use Case ✍🏼

Save the page as a bookmark with custom params saved and pre-fill.

Possible Solution πŸ’‘

Add query to the pages under app/template/ on meetup, talk, sponsor andevent components.

🎞️ Create templates for Camping des Speakers

Describe the template 🎬

Following the discussion #301, we want to create a new showcase for this event

Items to display πŸ“Ί

We want to create 3 videos, on for the event, one for the talks and one for the sponsors

Sketch & Screenshots 🎨

🎞️ Add new video type "CFP" reminder

Describe the template 🎬

We could generate a new composition for generating video to remind our community to submit talks to our Call For Paper

Items to display πŸ“Ί

I don't think we need any dynamic items here, maybe a QR code to the CFP link

πŸ’‘ Test: Code component

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to test the components on the app

Use Case ✍🏼

At any modification on the code we want to be sure that everything work fine.

Possible Solution πŸ’‘

Create the test file and make the test using jest and react-testing-library

πŸ’‘Create a SideBar component

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to create a SideBar component to facilitate navigation within the Template and Showcase pages πŸ“πŸ‘€

Use Case ✍🏼

As users, we need a convenient way to navigate within the Template and Showcase sections of the application. By introducing a SideBar component, we aim to enhance the user experience and provide seamless access to different sections and subsections within these pages.

Possible Solution πŸ’‘

To implement the SideBar component for navigation within the Template and Showcase pages, we can follow these steps:

  1. Identify the different sections and subsections within the Template and Showcase pages that should be included in the SideBar navigation. Maybe try to use a config file with only the template and the basic showcase (for the moment the settings part... is not necessary)
  2. Create a SideBar component that displays the navigation options for these sections and subsections.
  3. Implement functionality to handle the navigation within the Template and Showcase pages based on the user's selection in the SideBar.
  4. Ensure that the active section or subsection in the SideBar is visually highlighted to provide feedback to the user about their current location within the page.
  5. Consider adding additional features to the SideBar, such as collapsible sections or expandable menus, to improve usability and make it easier for users to navigate through the content.
  6. Test the SideBar component thoroughly to ensure it functions correctly and seamlessly integrates with the Template and Showcase pages πŸ§ͺ

πŸ’‘ Create `Title` atom

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to create a new Title atom to be used in our compositions

Use Case ✍🏼

In many compositions a Title component is used which has been duplicated each time for some differences. We want to have a single Title atom where we can override the style for the animations and the few differences.

Possible Solution πŸ’‘

Create a new Title component, give it a default style, a default font, make sure to take into account all title lengths (ellipsis)... The style should be overloadable for the animation part

ℹ️ Once this is done, update the different templates

πŸ’‘ Test: LayerByMode component

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to test the components on the app

Use Case ✍🏼

At any modification on the code we want to be sure that everything work fine.

Possible Solution πŸ’‘

Create the test file and make the test using jest and react-testing-library

πŸ’‘ Test: NavBar component

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to test the components on the app

Use Case ✍🏼

At any modification on the code we want to be sure that everything work fine.

Possible Solution πŸ’‘

Create the test file and make the test using jest and react-testing-library

πŸ’‘ Test: Header component

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to test the components on the app

Use Case ✍🏼

At any modification on the code we want to be sure that everything work fine.

Possible Solution πŸ’‘

Create the test file and make the test using jest and react-testing-library

πŸ’‘ Setup React Testing Library

Feature Request πŸ‘¨πŸΌβ€πŸ’»

In the context of adding our atoms and molecules, we want to add tests to avoid breaking these components later on

πŸ’‘ Test: Footer component

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to test the components on the app

Use Case ✍🏼

At any modification on the code we want to be sure that everything work fine.

Possible Solution πŸ’‘

Create the test file and make the test using jest and react-testing-library

πŸ’‘ Create `Avatar` molecule

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to create a new Avatar molecule to be used in our compositions

Use Case ✍🏼

In many compositions a Speakers component is used which has been duplicated each time for some differences. We want to have a single Avatar molecule where we can override the style for the animations and the few differences.

Possible Solution πŸ’‘

Create a new Avatar component with a default style. This component should display an avatar atom containing an image and also a caption atom if the corresponding props are passed to the component

ℹ️ Once this is done, update the different templates

πŸ—οΈ add unused import to eslint

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want eslint to return a warn or an error if a file contains unused imports

Use Case ✍🏼

when you do a refacto and you forget to remove the imports

Possible Solution πŸ’‘

add the rule to the .eslintrc file

🎞️ Create template for GDG meetups

Describe the template 🎬

It's a template for an event that will be reusable.

Items to display πŸ“Ί

It display a speaker with information about it, a big logo, a title, a date range and a time range

Sketch & Screenshots 🎨

Screenshot 2023-04-18 at 14 50 38

Logo :
Logo-gdg

πŸ’‘ Integrate the application's navbar

Feature Request πŸ‘¨πŸΌβ€πŸ’»

We want to update the design of the application's navbar with responsive πŸ˜…

Use Case ✍🏼

In order to redesign the application we want to reorganise the different pages of the application. The first step will be to separate the templates from the showcases. To do this we want to add a navbar that will allow us to have Template, Showcase, Docs and Contact.

⚠️ The purpose of this US is not to remove the current navigation but to separate it into two

Possible Solution πŸ’‘

You can take the example of what has been done on the wireframe for the new design

πŸ’‘ Implement React Testing Library

Feature Request πŸ‘¨πŸΌβ€πŸ’»

Implement React Testing Library for project testing πŸ§ͺ

Use Case ✍🏼

As developers, we want to ensure the stability and reliability of our project by implementing a robust testing framework. By introducing React Testing Library, we aim to facilitate the testing process and improve the overall quality of our codebase.

Possible Solution πŸ’‘

  1. Install React Testing Library as a project dependency.
  2. Create separate folders for the tests.
  3. Integrate testing into the project's development workflow.
  4. List all current components that need to be tested (make US 🏷️)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.