Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sashenjayathilaka/messenger-clone

Messenger Clone: Next.js 13, React, Tailwind, Prisma, MongoDB, NextAuth, Pusher, (Message notifications and alerts, Tailwind animations and transition effects, File and image upload using Cloudinary CDN, File and image upload using Cloudinary CDN, Group chats and one-on-one messaging)
https://github.com/sashenjayathilaka/messenger-clone

axios bcrypt clsx date-fns framer-motion headlessui-react lodash mongodb next-auth next-cloudinary next-js-13 next-superjson-plugin prisma pusher react-hook-form react-icons react-select tailwind-css typescript vercel

Last synced: 23 days ago
JSON representation

Messenger Clone: Next.js 13, React, Tailwind, Prisma, MongoDB, NextAuth, Pusher, (Message notifications and alerts, Tailwind animations and transition effects, File and image upload using Cloudinary CDN, File and image upload using Cloudinary CDN, Group chats and one-on-one messaging)

Awesome Lists containing this project

README

        

logo

Messenger Clone


Messenger Clone: Next.js 13, React, Tailwind, Prisma, MongoDB, NextAuth, Pusher, (Message notifications and alerts, Tailwind animations and transition effects, File and image upload using Cloudinary CDN, File and image upload using Cloudinary CDN, Group chats and one-on-one messaging)

![](https://img.shields.io/website-up-down-green-red/http/monip.org.svg)
![](https://img.shields.io/badge/Maintained-Yes-indigo)
![](https://img.shields.io/github/forks/SashenJayathilaka/Messenger-Clone.svg)
![](https://img.shields.io/github/stars/SashenJayathilaka/Messenger-Clone.svg)
![](https://img.shields.io/github/issues/SashenJayathilaka/Messenger-Clone)
![](https://img.shields.io/github/last-commit/SashenJayathilaka/Messenger-Clone)


Documentation
·
Report Bug
·
Request Feature



## :notebook_with_decorative_cover: Table of Contents

- [About the Project](#star2-about-the-project)
- [Tech Stack](#space_invader-tech-stack)
- [Environment Variables](#key-environment-variables)
- [Getting Started](#toolbox-getting-started)
- [Prerequisites](#bangbang-prerequisites)
- [Installation](#gear-installation)
- [Run Locally](#running-run-locally)
- [Deployment](#triangular_flag_on_post-deployment)
- [Contact](#handshake-contact)

## :star2: About the Project

![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)
![forthebadge](https://forthebadge.com/images/badges/for-you.svg)
![forthebadge](https://forthebadge.com/images/badges/powered-by-coffee.svg)

### :space_invader: Tech Stack

Client

Database







Google






















## :toolbox: Getting Started

### :bangbang: Prerequisites

- Install Node JS in your computer HERE
- Sign up for a Cloudinary account HERE
- Sign up for a Google Cloud Platform HERE
- Sign up for a Meta for Developers HERE
- Get Lookup APi Key HERE

### :key: Environment Variables

To run this project, you will need to add the following environment variables to your .env file

`DATABASE_URL`

`GOOGLE_CLIENT_ID`

`GOOGLE_CLIENT_SECRET`

`FACEBOOK_ID`

`FACEBOOK_SECRET`

`NEXTAUTH_SECRET`

`NEXTAUTH_URL`

`NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME`

`NEXT_PUBLIC_LOOKUP_KEY`

### :gear: Installation

Install my-project with npm

```bash
npx create-next-app@latest my-project --typescript
```

```
cd my-project
```

Install dependencies

### :test_tube: Install Tailwind CSS with Next.js

#### Install Tailwind CSS

Install tailwindcss and its peer dependencies via npm, and then run the init command to generate both `tailwind.config.js` and `postcss.config.js`.

```bash
npm install -D tailwindcss postcss autoprefixer
```

```bash
npx tailwindcss init -p
```

#### Configure your template paths

Add the paths to all of your template files in your `tailwind.config.js` file.

```js
module.exports = {
content: [
"./pages/**/*.{js,ts,jsx,tsx}",
"./components/**/*.{js,ts,jsx,tsx}",
],
theme: {
extend: {},
},
plugins: [],
};
```

#### Add the Tailwind directives to your CSS

Add the `@tailwind` directives for each of Tailwind’s layers to your `./styles/globals.css` file.

```css
@tailwind base;
@tailwind components;
@tailwind utilities;
```

Install dependencies

🔶 Other Dependency Info

### :running: Run Locally

Clone the project

```bash
git clone https://github.com/SashenJayathilaka/Messenger-Clone.git
```

```bash
cd Messenger-Clone
```

Install dependencies
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).

```bash
npm install
```

Start the server
First, run the development server:

```bash
npm run dev
```

This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.

[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.

The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.

### Learn More

This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.

### :triangular_flag_on_post: Deployment

To deploy this project run

##### Deploy on Vercel

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.

## :handshake: Contact

Your Name - [@twitter_handle](https://twitter.com/SashenHasinduJ) - [email protected]

Project Link: [https://github.com/SashenJayathilaka/META-Messenger-Clone.git](https://github.com/SashenJayathilaka/META-Messenger-Clone.git)