Overview:
The repository contains code for a full stack Dribble clone developed using Next.js, GraphQL, Next Auth, TypeScript, and tailwindcss. It features all the necessary elements of Dribbble for sharing and showcasing projects. The project also includes a modern design homepage, browsing and pagination functionality, authentication and authorization systems, project creation and editing options, backend API routes, and more.
Features:
- Modern Design Home Page: Clean and modern design resembling Dribbble, with project previews and navigation.
- Browsing and Pagination: Browse projects by category with smooth pagination.
- Authentication & Authorization System: Secure login using JWT and Google authentication.
- Create Post Page: Share projects with fields for details, images, and information.
- Project Details and Related Projects: Detailed view with related projects for exploration.
- Edit and Re-upload Images: Edit projects and re-upload images to the cloud.
- Delete Projects: Easily remove projects with one click.
- Portfolio-Style User Profile Page: Displays user’s projects and profiles of other users for exploration.
- Backend API Routes: Handles JWT token management and image uploading for secure authentication and integration.
Installation:
Prerequisites:
- Git
- Node.js
- npm (Node Package Manager)
Cloning the Repository:
git clone [repository-url] cd [repository-folder]
Installation:
npm install
Set Up Environment Variables:
- Create a new file named
.env
in the project root. - Add the following content:
API_KEY=your-api-key SECRET_KEY=your-secret-key
- Create a new file named
Summary:
The Dribble clone project developed using Next.js, GraphQL, Next Auth, TypeScript, and tailwindcss offers a comprehensive set of features for sharing and exploring projects. With a modern design, authentication systems, project creation, and editing capabilities, the project provides a practical example for those looking to build similar platforms. By following the installation guide and setting up environment variables, users can quickly get the project up and running to start exploring its features and functionality.