Videoly is a full-featured clone of TikTok, designed to demonstrate the capabilities of modern web technologies including Next.js, TypeScript, Redux Toolkit, and MongoDB. This application allows users to upload, share, and view short video clips, similar to the popular TikTok platform.
- Video upload and streaming
- User authentication and profile management
- Real-time interactions (likes, comments)
- Follow/unfollow functionality
- Search functionality for users and videos
- Responsive design suitable for all devices
- Next.js: Server-side rendering and static site generation
- TypeScript: Type safety across the application
- Redux Toolkit: State management
- MongoDB: Database for storing user data and video metadata
- Node.js (v14.x or later)
- MongoDB (Local installation or MongoDB Atlas)
- Yarn or npm
-
Clone the repository
git clone https://github.com/chourafiDev/videoly.git cd videoly
-
Install dependencies
yarn install
or
npm install
-
Set up environment variables
Create a
.env.local
file in the root directory and add the following variables:MONGODB_URI=<Your-MongoDB-URI> NEXT_PUBLIC_API_BASE_URL=http://localhost:3000
-
Run the development server
yarn dev
or
npm run dev
Open http://localhost:3000 with your browser to see the result.
- Code Linting: Run
yarn lint
ornpm run lint
to enforce a consistent code style. - Type Checking: TypeScript is used for type checking. Run
yarn type-check
ornpm run type-check
to detect type errors.
Build the application for production usage:
yarn build
npm start