E-Commerce Platform
A modern, full-stack e-commerce application built with Next.js 15, featuring authentication, product management, and a rich content editor.
- Next.js 15 with App Router and Turbopack for blazing-fast development
- Authentication - Secure user authentication with NextAuth.js
- Database - MongoDB integration with Mongoose ODM
- Rich Text Editor - TipTap editor with support for images, videos, tables, and more
- Image Management - ImageKit integration for optimized image delivery
- UI Components - Beautiful UI built with Radix UI and Tailwind CSS
- State Management - Zustand for client-side state management
- Data Fetching - TanStack Query and SWR for efficient data fetching
- Animations - Smooth animations with Framer Motion
- TypeScript - Full type safety throughout the application
Before you begin, ensure you have the following installed:
- Node.js 20.x or higher
- npm, yarn, pnpm, or bun
- MongoDB database (local or cloud instance)
-
Clone the repository
git clone <your-repository-url> cd friends-telecom
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Set up environment variables
Create a
.envfile in the root directory and add your environment variables:# Database MONGODB_URI=your_mongodb_connection_string # NextAuth NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your_nextauth_secret # ImageKit IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key IMAGEKIT_PRIVATE_KEY=your_imagekit_private_key IMAGEKIT_URL_ENDPOINT=your_imagekit_url_endpoint
-
Run the development server
npm run dev # or yarn dev # or pnpm dev # or bun dev
Open http://localhost:3000 to view the application in your browser.
├── src/
│ ├── app/ # Next.js App Router pages and API routes
│ ├── components/ # Reusable React components
│ ├── dbconfig/ # Database configuration
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility libraries
│ ├── models/ # MongoDB models
│ ├── providers/ # Context providers
│ └── types/ # TypeScript type definitions
├── public/ # Static assets
├── store/ # Zustand store configuration
├── utils/ # Utility functions
└── authcation/ # Authentication configuration
- Framework: Next.js 15 with React 19
- Styling: Tailwind CSS 4
- UI Components: Radix UI
- Animations: Framer Motion
- Rich Text Editor: TipTap
- Database: MongoDB with Mongoose
- Authentication: NextAuth.js
- API Routes: Next.js API Routes
- Language: TypeScript
- Linting: ESLint
- Package Manager: npm
npm run dev- Start development server with Turbopacknpm run build- Build the application for productionnpm start- Start the production servernpm run lint- Run ESLint for code quality checks
- Next.js - React framework for production
- React/React DOM - UI library
- NextAuth.js - Authentication solution
- Mongoose - MongoDB object modeling
- TipTap - Rich text editor
- ImageKit - Image optimization and delivery
- TanStack Query - Data fetching and caching
- Zustand - State management
- Axios - HTTP client
- Framer Motion - Animation library
- Lucide React - Icon library
The easiest way to deploy this Next.js app is to use the Vercel Platform.
- Push your code to a Git repository (GitHub, GitLab, or Bitbucket)
- Import your repository to Vercel
- Configure your environment variables
- Deploy!
Check out the Next.js deployment documentation for more deployment options.
- Next.js Documentation
- NextAuth.js Documentation
- Mongoose Documentation
- TipTap Documentation
- Tailwind CSS Documentation
This project is private and proprietary.
Contributions are welcome! Please feel free to submit a Pull Request.
If you encounter any issues or have suggestions, please file an issue on the GitHub repository.
Built with ❤️ using Next.js