Explore the live demonstration of the project: Edustream online learning platform
Edustream is an online learning platform that allows users to learn and teach online. It is built with React.js, Next.js, and Tailwind CSS. The platform is designed to provide a seamless learning experience for students and teachers. It includes features such as course creation, course management, video streaming, and analytics.
Folder Structure
edustream /
.
βββ actions
βΒ Β βββ get-analytics.ts
βΒ Β βββ get-chapter.ts
βΒ Β βββ get-courses.ts
βΒ Β βββ get-dashboard.ts
βΒ Β βββ get-progress.ts
βΒ Β βββ stream.ts
βββ app
βΒ Β βββ api
βΒ Β βΒ Β βββ courses
βΒ Β βΒ Β βΒ Β βββ [courseId]
βΒ Β βΒ Β βΒ Β βΒ Β βββ attachments
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ [attachmentId]
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βββ chapters
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ [chapterId]
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ progress
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ publish
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ unpublish
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ reorder
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βββ checkout
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βββ publish
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βΒ Β βββ unpublish
βΒ Β βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βββ uploadthing
βΒ Β βΒ Β βΒ Β βββ core.ts
βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βββ webhooks
βΒ Β βΒ Β βββ clerk
βΒ Β βΒ Β βΒ Β βββ route.ts
βΒ Β βΒ Β βββ stripe
βΒ Β βΒ Β βββ route.ts
βΒ Β βββ (auth)
βΒ Β βΒ Β βββ (routes)
βΒ Β βΒ Β βββ sign-in
βΒ Β βΒ Β βΒ Β βββ [[...sign-in]]
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ sign-up
βΒ Β βΒ Β βββ [[...sign-up]]
βΒ Β βΒ Β βββ page.tsx
βΒ Β βββ (course)
βΒ Β βΒ Β βββ courses
βΒ Β βΒ Β βββ [courseId]
βΒ Β βΒ Β βββ chapters
βΒ Β βΒ Β βΒ Β βββ [chapterId]
βΒ Β βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βΒ Β βββ course-enroll-button.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ course-progress-button.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ video-player.tsx
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βββ course-mobile-sidebar.tsx
βΒ Β βΒ Β βΒ Β βββ course-navbar.tsx
βΒ Β βΒ Β βΒ Β βββ course-sidebar-item.tsx
βΒ Β βΒ Β βΒ Β βββ course-sidebar.tsx
βΒ Β βΒ Β βββ layout.tsx
βΒ Β βΒ Β βββ page.tsx
βΒ Β βββ (dashboard)
βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βββ logo.tsx
βΒ Β βΒ Β βΒ Β βββ mobile-sidebar.tsx
βΒ Β βΒ Β βΒ Β βββ navbar.tsx
βΒ Β βΒ Β βΒ Β βββ sidebar-items.tsx
βΒ Β βΒ Β βΒ Β βββ sidebar-routes.tsx
βΒ Β βΒ Β βΒ Β βββ sidebar.tsx
βΒ Β βΒ Β βββ layout.tsx
βΒ Β βΒ Β βββ (routes)
βΒ Β βΒ Β βββ (root)
βΒ Β βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βΒ Β βββ info-card.tsx
βΒ Β βΒ Β βΒ Β βββ dashboard
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ search
βΒ Β βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βΒ Β βββ categories.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ category-items.tsx
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ teacher
βΒ Β βΒ Β βββ analytics
βΒ Β βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βΒ Β βββ chat.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ data-card.tsx
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ courses
βΒ Β βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βΒ Β βββ columns.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ data-table.tsx
βΒ Β βΒ Β βΒ Β βββ [courseId]
βΒ Β βΒ Β βΒ Β βΒ Β βββ chapters
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ [chapterId]
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ chapter-access-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ chapter-actions.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ chapter-description-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ chapter-title-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ chapter-video-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ actions.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ attachment-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ category-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ chapters-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ chapters-list.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ course-title.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ description-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ image-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βΒ Β βββ price-form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ create
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ layout.tsx
βΒ Β βββ globals.css
βΒ Β βββ (landing)
βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βββ cta-button.tsx
βΒ Β βΒ Β βΒ Β βββ footer.tsx
βΒ Β βΒ Β βΒ Β βββ get-started.tsx
βΒ Β βΒ Β βΒ Β βββ heading.tsx
βΒ Β βΒ Β βΒ Β βββ hero-section.tsx
βΒ Β βΒ Β βΒ Β βββ logo-cloud.tsx
βΒ Β βΒ Β βΒ Β βββ multitenancy.tsx
βΒ Β βΒ Β βΒ Β βββ navbar.tsx
βΒ Β βΒ Β βΒ Β βββ pause-video.tsx
βΒ Β βΒ Β βΒ Β βββ square-patterns.tsx
βΒ Β βΒ Β βΒ Β βββ style
βΒ Β βΒ Β βΒ Β βΒ Β βββ logoCloud.css
βΒ Β βΒ Β βΒ Β βΒ Β βββ logoCloud.css.map
βΒ Β βΒ Β βΒ Β βΒ Β βββ logoCloud.scss
βΒ Β βΒ Β βΒ Β βββ testimonies.tsx
βΒ Β βΒ Β βββ layout.tsx
βΒ Β βΒ Β βββ page.tsx
βΒ Β βββ layout.tsx
βΒ Β βββ (streaming)
βΒ Β βββ _components
βΒ Β βΒ Β βββ Alert.tsx
βΒ Β βΒ Β βββ CallList.tsx
βΒ Β βΒ Β βββ EndCallButton.tsx
βΒ Β βΒ Β βββ HomeCard.tsx
βΒ Β βΒ Β βββ Loader.tsx
βΒ Β βΒ Β βββ MeetingCard.tsx
βΒ Β βΒ Β βββ MeetingModal.tsx
βΒ Β βΒ Β βββ MeetingRoom.tsx
βΒ Β βΒ Β βββ MeetingSetup.tsx
βΒ Β βΒ Β βββ MeetingTypeList.tsx
βΒ Β βΒ Β βββ MobileNavbar.tsx
βΒ Β βΒ Β βββ navbar.tsx
βΒ Β βΒ Β βββ Sidebar.tsx
βΒ Β βββ (home)
βΒ Β βΒ Β βββ layout.tsx
βΒ Β βΒ Β βββ personal-room
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ previous
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ recordings
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ stream-home
βΒ Β βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ upcoming
βΒ Β βΒ Β βββ page.tsx
βΒ Β βββ layout.tsx
βΒ Β βββ meeting
βΒ Β βββ [id]
βΒ Β βββ page.tsx
βββ CODE_OF_CONDUCT.md
βββ components
βΒ Β βββ banner.tsx
βΒ Β βββ container.tsx
βΒ Β βββ course-card.tsx
βΒ Β βββ course-progess.tsx
βΒ Β βββ courses-list.tsx
βΒ Β βββ editor.tsx
βΒ Β βββ file-upload.tsx
βΒ Β βββ icon-badge.tsx
βΒ Β βββ modals
βΒ Β βΒ Β βββ confirm-modal.tsx
βΒ Β βββ navbar-routes.tsx
βΒ Β βββ preview.tsx
βΒ Β βββ providers
βΒ Β βΒ Β βββ confetti-provider.tsx
βΒ Β βΒ Β βββ posthog-proivider.tsx
βΒ Β βΒ Β βββ StreamClientProvider.tsx
βΒ Β βΒ Β βββ theme-provider.tsx
βΒ Β βΒ Β βββ toast-provider.tsx
βΒ Β βββ rive-animation.tsx
βΒ Β βββ search-input.tsx
βΒ Β βββ spinner.tsx
βΒ Β βββ theme.tsx
βΒ Β βββ ui
βΒ Β βββ alert-dialog.tsx
βΒ Β βββ badge.tsx
βΒ Β βββ button.tsx
βΒ Β βββ card.tsx
βΒ Β βββ checkbox.tsx
βΒ Β βββ combobox.tsx
βΒ Β βββ command.tsx
βΒ Β βββ dialog.tsx
βΒ Β βββ dropdown-menu.tsx
βΒ Β βββ form.tsx
βΒ Β βββ input.tsx
βΒ Β βββ label.tsx
βΒ Β βββ popover.tsx
βΒ Β βββ progress.tsx
βΒ Β βββ separator.tsx
βΒ Β βββ sheet.tsx
βΒ Β βββ skeleton.tsx
βΒ Β βββ table.tsx
βΒ Β βββ textarea.tsx
βΒ Β βββ toaster.tsx
βΒ Β βββ toast.tsx
βΒ Β βββ use-toast.ts
βββ components.json
βββ config
βΒ Β βββ site.ts
βββ constants
βΒ Β βββ index.ts
βββ hms.md
βββ hooks
βΒ Β βββ use-confetti-store.ts
βΒ Β βββ use-debounce.ts
βΒ Β βββ useGetCallById.ts
βΒ Β βββ useGetCalls.ts
βΒ Β βββ use-is-touch-device.ts
βΒ Β βββ use-mobile-sidebar.ts
βΒ Β βββ use-scroll-top.tsx
βββ lib
βΒ Β βββ db.ts
βΒ Β βββ format.ts
βΒ Β βββ stripe.ts
βΒ Β βββ teacher.ts
βΒ Β βββ uploadthing.ts
βΒ Β βββ utils.ts
βββ LICENSE
βββ middleware.ts
βββ next.config.js
βββ next-env.d.ts
βββ package.json
βββ package-lock.json
βββ postcss.config.js
βββ prisma
βΒ Β βββ migrations
βΒ Β βΒ Β βββ 20240715233643_adding_user_model
βΒ Β βΒ Β βΒ Β βββ migration.sql
βΒ Β βΒ Β βββ migration_lock.toml
βΒ Β βββ schema.prisma
βββ public
βΒ Β βββ animations
βΒ Β βΒ Β βββ pages
βΒ Β βΒ Β βββ ai
βΒ Β βΒ Β βΒ Β βββ scene.splinecode
βΒ Β βΒ Β βββ branching
βΒ Β βΒ Β βΒ Β βββ branching-route.riv
βΒ Β βΒ Β βββ home
βΒ Β βΒ Β βΒ Β βββ api.riv
βΒ Β βΒ Β βΒ Β βββ clock.riv
βΒ Β βΒ Β βΒ Β βββ dots-stack.riv
βΒ Β βΒ Β βΒ Β βββ get-started.riv
βΒ Β βΒ Β βββ #
βΒ Β βΒ Β βββ flip-numbers.riv
βΒ Β βΒ Β βββ icon-launch.riv
βΒ Β βΒ Β βββ icon-prototype.riv
βΒ Β βΒ Β βββ icon-scale.riv
βΒ Β βΒ Β βββ lights.riv
βΒ Β βΒ Β βββ #.riv
βΒ Β βββ icons
βΒ Β βΒ Β βββ add-meeting.svg
βΒ Β βΒ Β βββ add-personal.svg
βΒ Β βΒ Β βββ call-ended.svg
βΒ Β βΒ Β βββ checked.svg
βΒ Β βΒ Β βββ copy.svg
βΒ Β βΒ Β βββ hamburger.svg
βΒ Β βΒ Β βββ Home.svg
βΒ Β βΒ Β βββ join-meeting.svg
βΒ Β βΒ Β βββ loading-circle.svg
βΒ Β βΒ Β βββ logo.svg
βΒ Β βΒ Β βββ play.svg
βΒ Β βΒ Β βββ previous.svg
βΒ Β βΒ Β βββ recordings.svg
βΒ Β βΒ Β βββ schedule.svg
βΒ Β βΒ Β βββ share.svg
βΒ Β βΒ Β βββ three-dots.svg
βΒ Β βΒ Β βββ upcoming.svg
βΒ Β βΒ Β βββ Video.svg
βΒ Β βΒ Β βββ yoom-logo.svg
βΒ Β βββ images
βΒ Β βΒ Β βββ avatar-1.jpeg
βΒ Β βΒ Β βββ avatar-2.jpeg
βΒ Β βΒ Β βββ avatar-3.png
βΒ Β βΒ Β βββ avatar-4.png
βΒ Β βΒ Β βββ avatar-5.png
βΒ Β βΒ Β βββ creative-work.svg
βΒ Β βΒ Β βββ falling.svg
βΒ Β βΒ Β βββ google.svg
βΒ Β βΒ Β βββ hero-background.png
βΒ Β βΒ Β βββ logos
βΒ Β βΒ Β βββ brilliant.svg
βΒ Β βΒ Β βββ bytedance.svg
βΒ Β βΒ Β βββ joco.svg
βΒ Β βΒ Β βββ resend.svg
βΒ Β βΒ Β βββ zendesk.svg
βΒ Β βββ logo.svg
βΒ Β βββ next.svg
βΒ Β βββ sign-n.jpg
βΒ Β βββ vercel.svg
βΒ Β βββ videos
βΒ Β βββ pages
βΒ Β βββ cli
βΒ Β βΒ Β βββ code.mp4
βΒ Β βΒ Β βββ code.webm
βΒ Β βββ developer-days
βΒ Β βΒ Β βββ cactus.mp4
βΒ Β βΒ Β βββ cactus.webm
βΒ Β βΒ Β βββ dr-brown.mp4
βΒ Β βΒ Β βββ dr-brown.webm
βΒ Β βΒ Β βββ hands-mobile.mp4
βΒ Β βΒ Β βββ hands-mobile.webm
βΒ Β βΒ Β βββ hands.mp4
βΒ Β βΒ Β βββ hands.webm
βΒ Β βββ home
βΒ Β βββ ai-loop.mp4
βΒ Β βββ ai-loop.webm
βΒ Β βββ hero
βΒ Β βΒ Β βββ branching1.ts
βΒ Β βΒ Β βββ branching2.ts
βΒ Β βΒ Β βββ branching3.ts
βΒ Β βΒ Β βββ branching4.ts
βΒ Β βΒ Β βββ branching5.ts
βΒ Β βΒ Β βββ branching.m3u8
βΒ Β βΒ Β βββ branching.mp4
βΒ Β βΒ Β βββ scaling0.ts
βΒ Β βΒ Β βββ scaling1.ts
βΒ Β βΒ Β βββ scaling2.ts
βΒ Β βΒ Β βββ scaling3.ts
βΒ Β βΒ Β βββ scaling.m3u8
βΒ Β βΒ Β βββ scaling.mp4
βΒ Β βββ industry
βΒ Β βΒ Β βββ testimonials0.ts
βΒ Β βΒ Β βββ testimonials1.ts
βΒ Β βΒ Β βββ testimonials2.ts
βΒ Β βΒ Β βββ testimonials3.ts
βΒ Β βΒ Β βββ testimonials4.ts
βΒ Β βΒ Β βββ testimonials5.ts
βΒ Β βΒ Β βββ testimonials6.ts
βΒ Β βΒ Β βββ testimonials7.ts
βΒ Β βΒ Β βββ testimonials.m3u8
βΒ Β βΒ Β βββ testimonials.mp4
βΒ Β βββ lightning
βΒ Β βΒ Β βββ active.mp4
βΒ Β βΒ Β βββ active.webm
βΒ Β βΒ Β βββ idle.mp4
βΒ Β βΒ Β βββ idle.webm
βΒ Β βΒ Β βββ popup.mp4
βΒ Β βΒ Β βββ popup.webm
βΒ Β βββ next-gen.mp4
βΒ Β βββ next-gen.webm
βΒ Β βββ replicas.mp4
βΒ Β βββ replicas.webm
βββ qodana.sarif.json
βββ qodana.yaml
βββ README.md
βββ scripts
βΒ Β βββ seed.ts
βββ SECURITY.md
βββ tailwind.config.ts
βββ tsconfig.jso
Table of Contents
EduStream is built using the following technologies:
- TypeScript: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. development experience for modern web projects.
- React.js: React is a free and open-source front-end JavaScript library for building user interfaces or UI components.
- Three.js: Three.js is a cross-browser JavaScript library and application programming interface used to create and display animated 3D computer graphics in a web browser using WebGL.
- Framer Motion: Framer Motion is a production-ready motion library for React.
- Tailwind CSS: Tailwind CSS is a utility-first CSS framework for rapidly building custom user interfaces.
- ESLint: ESLint is a static code analysis tool for identifying problematic patterns found in JavaScript code.
- Prettier: Prettier is an opinionated code formatter.
- Vercel: Vercel is a cloud platform for frontend developers, providing the frameworks, workflows, and infrastructure to build a faster, more personalized Web.
To get this project up and running in your development environment, follow these step-by-step instructions.
In order to install and run this project locally, you would need to have the following installed on your local machine.
Step 0:
Note that you can use either npm
or yarn
to run the scripts. In this guide, we will use npm
.
Setup clerk.dev account and get the required credentials to run the app.
Step 1:
Download or clone this repo by using the link below:
git https://github.com/abudusamad/EduStream.git
Step 2:
Execute the following command in the root directory of the downloaded repo in order to install dependencies:
npm install
Step 3:
Execute the following command in order to run the development server locally:
npm run dev
Step 4:
Open http://localhost:3000 with your browser to see the result.
All scripts are defined in the package.json
file. Here is a list of all scripts:
Script | Action |
---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:3000 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Boot up a local static web server |
npm run lint |
Run ESLint |
npm run ts:check |
Perform type-checking |
Environment variables can be used for configuration. They must be set before running the app.
Environment variables are variables that are set in the operating system or shell, typically used to configure programs.
Edustream uses EmailJS as external service. You need to create an account and get the required credentials to run the app.
Create a .env
file in the root directory of the project and add the following environment
variables:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=${CLERK_PUBLISHABLE_KEY}
CLERK_SECRET_KEY=${CLERK_SECRET_KEY}
CLERK_WEBHOOK_SECRET=${CLERK_WEBHOOK_SECRET}
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/search
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/search
DATABASE_URL=${DATABASE_URL}
UPLOADTHING_SECRET=${UPLOADTHING_SECRET}
UPLOADTHING_APP_ID=${UPLOADTHING_APP_ID}
MUX_TOKEN_ID=${MUX_TOKEN_ID}
MUX_TOKEN_SECRET=${MUX_TOKEN_SECRET}
NEXT_PUBLIC_APP_URL=http://localhost:3000
STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}
STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET}
STRIPE_PUBLISHABLE_KEY=${STRIPE_PUBLISHABLE_KEY}
NEXT_PUBLIC_POSTHOG_KEY=${POSTHOG_KEY}
NEXT_PUBLIC_BASE_URL=http://localhost:3000
NEXT_PUBLIC_STREAM_API_KEY=${STREAM_API_KEY}
STREAM_SECRET_KEY=${STREAM_SECRET_KEY}
You can create an optimized production build with the following command:
npm run build
The easiest way to deploy this Next.js app is to use the Vercel Platform.
You can also deploy this Next.js app with Netlify.
Check out Next.js deployment documentation for more details.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
To fix a bug or enhance an existing module, follow these steps:
- Fork the repo
- Create a new branch (
git checkout -b improve-feature
) - Make the appropriate changes in the files
- Commit your changes (
git commit -am 'Improve feature'
) - Push to the branch (
git push origin improve-feature
) - Create a Pull Request π
I'd like to express my gratitude to the following people who helped me with this project and made it possible: