https://github.com/renatoxm/vod-next
Vod - Next.js video on demand App
https://github.com/renatoxm/vod-next
nextjs redis sentry storybook upstash vercel
Last synced: 3 months ago
JSON representation
Vod - Next.js video on demand App
- Host: GitHub
- URL: https://github.com/renatoxm/vod-next
- Owner: renatoxm
- License: mit
- Created: 2023-03-10T17:29:14.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-13T08:40:27.000Z (over 3 years ago)
- Last Synced: 2026-01-03T16:33:25.753Z (6 months ago)
- Topics: nextjs, redis, sentry, storybook, upstash, vercel
- Language: TypeScript
- Homepage: https://vod-next.vercel.app/
- Size: 420 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Vod.io Next.js video on demand App







Video on demand platform created in Next.js
## Preview
## Features
- Next.js framework
- Typescript
- Redis
- React Speech Recognition
- Github workflows
- Mobx store
- Sentry
## Development
To start the project locally, run:
```bash
pnpm dev
```
## Documentation
### Requirements
- Node.js >= 12.22.0
- pnpm 7
### Directory Structure
- [`.github`](.github) — GitHub configuration including the CI workflow.
- [`.husky`](.husky) — Husky configuration and hooks.
- [`public`](./public) — Static assets such as robots.txt, images, and favicon.
- [`src`](./src) — Application source code, including pages, components, styles.
### Scripts
- `pnpm dev` — Starts the application in development mode at `http://localhost:3000`.
- `pnpm build` — Creates an optimized production build of your application.
- `pnpm start` — Starts the application in production mode.
- `pnpm type-check` — Validate code using TypeScript compiler.
- `pnpm lint` — Runs ESLint for all files in the `src` directory.
- `pnpm format` — Runs Prettier for all files in the `src` directory.
### Path Mapping
TypeScript are pre-configured with custom path mappings. To import components or files, use the `@` prefix.
```tsx
import { Button } from '@/components/Button';
// To import images or other files from the public folder
import avatar from '@/public/avatar.png';
```
### Switch to Yarn/npm
This starter uses pnpm by default, but this choice is yours. If you'd like to switch to Yarn/npm, delete the `pnpm-lock.yaml` file, install the dependencies with Yarn/npm, change the CI workflow, and Husky Git hooks to use Yarn/npm commands.
Open `http://localhost:3000` with your browser to see the result.
## License & disclaimer
This project is licensed under the MIT license. For more information, see the [LICENSE](LICENSE.md) file.
It was created for feature presentation and case study only, it is not intended for commercial use.
YouTube is a trademark of GOOGLE Inc.
All images and videos displayed were pulled from YouTube's API and [Pexels](https://www.pexels.com/) respecting their licenses.