PasteZone

Started: 09 Dec 2023

✨you can click on the image to see it in full size

Important links:

Description:

PasteZone

Overview

This project is a full-stack clone of pastebin.com. It replicates Pastebin's functionality and adds several impressive features to enhance user experience.

Key Features

  • Expiration Options: Users can set expiration times for their pastes, with multiple time options.
  • Enhanced UI/UX: Tailwind CSS and Shadcn-UI were combined to create an intuitive and visually appealing user interface.
  • Code Line Numbers: Line numbers are displayed alongside code snippets for easy reference.
  • User Authentication: Integrated NextAuth.js to enable user authentication and secure access to private pastes.
  • Advanced Search Functionality: Users can search through their pastes based on content, language, or expiration status.

Getting Started

To run this project locally, follow these steps:

  1. Clone the repository.
  2. Install dependencies using npm install.
  3. Run the development server using npm run dev.
  4. Open http://localhost:3000 in your browser.

Technologies Used

  • Frontend: Next.js, React.js, Tailwind CSS, Shadcn-UI, Zustand.
  • Backend: Typescript, DrizzleORM, Turso DB, Auth.js.

Contributions

This project is a personal endeavor and has been fully developed by me. Contributions are not currently accepted.

License

This project is licensed under the MIT License.

Special Technologies:

DrizzleORM

Really powerfull and fast ORM which I really enjoyed using. Coming from a MySQL background, the syntax made sense, and it is fully typesafe! The addition of the drizzle-kit studio was a really nice touch, and the absence was what made me stick to Prisma before.

Auth.js

The setup was really simple, useSession() hook is really usefull as well as auth() function. DrizzleAdapter was simple to use but I couldn't do any custom queries on singin and other events so I couldn't implement the account creation date and so on.

Turso DB

Setup was difficult because I had to install WSL2 which was broken, since they don't support direct Windows installation, but when that was done I enjoyed the developer experience.

Shadcn-UI

Really nice UI library, very easy and enjoyable to use and more important customize.

Technologies used:

✨you can click one to see all projects made using it