Skip to content

Latest commit

 

History

History
104 lines (77 loc) · 2.37 KB

README.md

File metadata and controls

104 lines (77 loc) · 2.37 KB

posts

Posts.cv clone built in Next.js + Prisma + TypeScript + Tailwind CSS

Features ✨

  • Authentication with NextAuth and Firebase
  • Users can add posts, like, repost, and reply to posts
  • Users can delete posts
  • Users can add images, videos, and URL embeds to the post
  • Users can follow and unfollow other users
  • Users can see their followers and following list
  • User can edit their profile
  • Users can chat with each other
  • Users can receive realtime notifications
  • Users can search for other users through the command menu
  • Realtime update on likes, reposts, and user profile
  • Responsive design for mobile, tablet, and desktop
  • All images uploads are stored on Cloudinary

Tech 🛠

Development 💻

Here are the steps to run the project locally.

  1. Clone the repository

    git clone https://github.com/thisissteven/posts
  2. Install dependencies

    pnpm install
  3. Create a new .env file from the specified .env.example file

    cd web
    cp .env.example .env

    Fill in the needed environment variables

     DATABASE_URL=
    
     NEXT_PUBLIC_BASE_URL="http://localhost:3000"
    
     NEXTAUTH_SECRET=
     NEXTAUTH_URL="http://localhost:3000"
    
     GOOGLE_CLIENT_ID=
     GOOGLE_CLIENT_SECRET=
    
     EMAIL_SERVER_USER=
     EMAIL_SERVER_PASSWORD=
     EMAIL_SERVER_HOST=
     EMAIL_SERVER_PORT=
     EMAIL_FROM=
    
     NEXT_PUBLIC_CLOUDINARY_BASE_URL=
     NEXT_PUBLIC_CLOUDINARY_VIDEO_BASE_URL=
     NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=
     NEXT_PUBLIC_CLOUDINARY_API_KEY=
     NEXT_PUBLIC_CLOUDINARY_API_SECRET=
     NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
     NEXT_PUBLIC_CLOUDINARY_FOLDER=
    
     NEXT_PUBLIC_SUPABASE_URL=
     NEXT_PUBLIC_SUPABASE_KEY=
    
     NEXT_PUBLIC_ALGOLIA_APP_ID=
     NEXT_PUBLIC_ALGOLIA_SEARCH_API_KEY=
     ALGOLIA_WRITE_API_KEY=
  4. Run the project

    pnpm dev
  5. Need to seed the database? The following command will create random amount of users and posts.

    pnpm prisma db seed