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

https://github.com/dmunasingha/react-native-graphql-app

A โœจ full-stack mobile To-Do app โœจ built with React Native, GraphQL, Apollo, PostgreSQL, and more! It's fast, clean, and developer-friendly โ€” perfect for learning or launching ๐Ÿš€.
https://github.com/dmunasingha/react-native-graphql-app

apollo express graphql nodejs postgreesql react-native

Last synced: 3 months ago
JSON representation

A โœจ full-stack mobile To-Do app โœจ built with React Native, GraphQL, Apollo, PostgreSQL, and more! It's fast, clean, and developer-friendly โ€” perfect for learning or launching ๐Ÿš€.

Awesome Lists containing this project

README

          

# ๐Ÿงฉ React Native GraphQL To-Do App

A โœจ full-stack mobile To-Do app โœจ built with **React Native**, **GraphQL**, **Apollo**, **PostgreSQL**, and more! It's fast, clean, and developer-friendly โ€” perfect for learning or launching ๐Ÿš€.

---

## ๐Ÿ”ง Tech Stack Toolbox ๐Ÿงฐ

### ๐Ÿ–ผ๏ธ Frontend

* โš›๏ธ React Native `0.79.4`
* ๐Ÿš€ Expo SDK `53`
* ๐Ÿ”— Apollo Client
* ๐Ÿ’… NativeWind (TailwindCSS for RN)
* ๐ŸŽญ Reanimated for slick animations
* ๐Ÿงฑ GlueStack UI (optional)

### ๐Ÿ”™ Backend

* ๐ŸŸข Node.js + Express
* ๐Ÿ“ก Apollo Server
* ๐Ÿ” GraphQL (Schema + Resolvers)
* ๐Ÿ”„ Prisma ORM
* ๐Ÿ›ข๏ธ PostgreSQL

---

## ๐Ÿš€ Getting Started

### ๐Ÿ—‚๏ธ Folder Structure

```
react-native-graphql-app/
โ”œโ”€โ”€ frontend/ # ๐Ÿ“ฑ Mobile client
โ”‚ โ”œโ”€โ”€ App.js
โ”‚ โ”œโ”€โ”€ apollo/ # Apollo config
โ”‚ โ”œโ”€โ”€ components/ # Reusable UI
โ”œโ”€โ”€ server/ # ๐Ÿ”ง Node GraphQL API
โ”‚ โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ prisma/ # DB schema & migrations
โ””โ”€โ”€ README.md
```

---

## ๐Ÿ”„ Quickstart Guide

### ๐Ÿ“ฅ 1. Clone the Repo

```bash
git clone https://github.com/dmunasingha/react-native-graphql-app.git
cd react-native-graphql-app
```

### ๐Ÿง  2. Backend Setup

```bash
cd server
cp .env.example .env
npm install
npx prisma migrate dev --name init
npm run dev
```

๐Ÿ”— GraphQL Playground: `http://localhost:4000/graphql`

### ๐Ÿ“ฒ 3. Frontend Setup

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

๐Ÿ’ก Tip: Use Expo Go or an emulator for testing

> โš ๏ธ **Important:** Update Apollo client URI in `apollo/client.js`:

```js
uri: 'http://192.168.x.x:4000/graphql' // ๐Ÿ‘ˆ Use your LAN IP
```

---

## ๐ŸŽฏ Features Checklist

* โœ… Add / Toggle / Delete todos
* ๐Ÿ” Auto refetch with Apollo
* โœจ Beautiful styling with Tailwind
* ๐Ÿ“ฒ Cross-platform (iOS/Android)
* ๐Ÿ”„ Prisma-backed DB
* โฑ๏ธ Coming Soon: Offline mode
* ๐ŸŒ“ Coming Soon: Dark mode

---

## ๐Ÿ“ธ Screenshots

| ๐Ÿ“‹ List View | ๐Ÿ› ๏ธ Mutation Example |
| ------------- | -------------------- |
| *Coming soon* | *Coming soon* |

---

## ๐Ÿงช Dev Tips

* ๐Ÿงน Clear Metro cache: `npx expo start -c`
* ๐Ÿงฌ Test GraphQL at: `http://localhost:4000/graphql`
* ๐Ÿง‘โ€๐Ÿ”ฌ Use `npx prisma studio` to view data

---

## ๐Ÿงจ Troubleshooting

* โŒ **Network request failed:** Use your real IP, not `localhost`
* โŒ **Unknown type "ID":** Match GraphQL types (use `Int!` if Prisma expects it)
* โŒ **Metro error:** All `import` statements must be at the top level

---

## ๐Ÿ“„ License

๐Ÿชช Licensed under the **0BSD** license โ€” totally open and flexible ๐Ÿ’–

---

## ๐Ÿ’ก Acknowledgements

* ๐Ÿš€ [Apollo GraphQL](https://www.apollographql.com/)
* ๐Ÿงฌ [Prisma](https://www.prisma.io/)
* ๐Ÿ“ฆ [Expo](https://expo.dev/)
* ๐ŸŽจ [GlueStack UI](https://ui.gluestack.io/)

---

## ๐Ÿ™‹โ€โ™‚๏ธ Contact

Made with โค๏ธ by Dunith Munasingha
๐Ÿ“ง munasingha.dunith@gmail.com(mailto:munasingha.dunith@gmail.com)
๐ŸŒ https://www.linkedin.com/in/dunith-munasingha/