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

https://github.com/notprjwl/mewwsages

A real-time messaging application built with Next.js, GraphQL, Apollo, Prisma, and Chakra UI.
https://github.com/notprjwl/mewwsages

apollo apollo-client apollo-server-express chakra-ui google-cloud graphql mongodb next-auth nextjs prisma typescript

Last synced: about 1 month ago
JSON representation

A real-time messaging application built with Next.js, GraphQL, Apollo, Prisma, and Chakra UI.

Awesome Lists containing this project

README

          

# mewwsages 🐈‍⬛

mewwsages is a full-stack messaging application built with Next.js, GraphQL, Apollo Client/Server, Prisma, and Chakra UI. It provides real-time messaging capabilities, user authentication via NextAuth with Google provider, and MongoDB for data storage.

## Features 🚀

- **Authentication**: NextAuth integrated with Google provider for secure user login.
- **Real-time Messaging**: GraphQL subscriptions for instant message updates.
- **Responsive UI**: Sleek and intuitive design using Chakra UI.
- **Database Management**: Prisma and MongoDB for efficient data handling.
- **Apollo Client/Server**: Facilitates seamless data fetching and state management.

## Technologies Used 🛠️

- **Frontend**:
- Next.js
- React
- Apollo Client
- Chakra UI

- **Backend**:
- Node.js
- Express
- Apollo Server
- GraphQL
- Prisma
- MongoDB

## Installation 📥

### Prerequisites

- Node.js (v14 or higher)
- npm or yarn
- MongoDB database
- Google Cloud account

### Steps

1. **Clone the repository**

```bash
git clone
cd mewwsages

2. **Install dependencies**

```bash
cd frontend
npm install
```
```bash
cd ../backend
npm install

3. **Set up environment variables**

- Create .env files in both frontend/ and backend/ directories based on their respective .env.example files.
Fill in necessary credentials and configuration settings.

4. **Start the development servers**
```bash
cd frontend
npm run dev
```
```bash
cd ../backend
npm run dev

### Feel free to reach out with any questions or feedback! 📬