Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/krasipeace/dating-app
Dating app with chat system
https://github.com/krasipeace/dating-app
nextjs react spa typescript
Last synced: 3 months ago
JSON representation
Dating app with chat system
- Host: GitHub
- URL: https://github.com/krasipeace/dating-app
- Owner: Krasipeace
- License: mit
- Created: 2024-06-08T18:48:37.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-11-04T16:25:55.000Z (3 months ago)
- Last Synced: 2024-11-04T17:30:19.592Z (3 months ago)
- Topics: nextjs, react, spa, typescript
- Language: TypeScript
- Homepage: https://heartbound.vercel.app
- Size: 14.3 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![CodeFactor](https://www.codefactor.io/repository/github/krasipeace/dating-app/badge)](https://www.codefactor.io/repository/github/krasipeace/dating-app)
# HeartBound - Dating app
My `Learning by Doing` **Full-Stack App**, build with Next/React.
Home page
## Features
In the app there are 2 roles:
- ADMIN(for administrators) - Work with the app on the back scene.
- MEMBER(for users) - use the app as it should be used.
#### As user
- Browse other users via different filters.
- Like/unlike other users.
- Send messages to other users.
- Live chat with other users.
- Upload images
- Delete/Report messages
#### As Administrator
- Get Access to Server/Client sessions
- Moderate `user photos`
- Moderate `reported messages`
Admin View
### Getting Started
#### As Developer
- Install Dependencies
```bash
npm install
```- Run development server:
```bash
npm run dev
```- PostgreDB as Docker Container set-up
```bash
docker compose up -d
``````bash
npx prisma generate
``````bash
npx prisma db push
``````bash
npx prisma db seed
```
- Apply migrations + seed database
```bash
npx prisma reset
```- Run Prisma studio
```bash
npx prisma studio
```Open .env.example to understand what secrets do you need in your .env config file.
#### As User
`N.B.:`
`You can register with your email and password, and your confirmation email will not be send, due to this, I highly recommend to use Github or Google as login at [https://heartbound.vercel.app](https://heartbound.vercel.app). Because of the nature of resend, which is my email-provider and its set-up only for testing as free version. You will also never receive email for reset-password functionality, due to same reason.`
Registration (part 1)
![]()
Registration (part 2)
Registration (verification token in DB)
Verification Email
![]()
Login and use the app.
- Login via Github
- Login via Gitlab
- Login via Google(might still not work, because Google is verifying it)
![]()
Finish Login with Social Acc
Login with test users info:
- TestUser1 - Anna:
- Email: `[email protected]`
- Password: `testPassword`
- TestUser2 - Cassia:
- Email: `[email protected]`
- Password: `testPassword`
- TestUser3 - Andrei:
- Email: `[email protected]`
- Password: `testPassword`
- TestUser4 - Elin:
- Email: `[email protected]`
- Password: `testPassword`#### As Administrator
- Login as admin is not available at `heartbound.vercel.app`
- Locally, you can check [`.env.example`](.env.example) for the needed secrets in your `.env` config to seed and run your own administrator.### Tech Stack / Libraries / Packages
- [Next.js](https://nextjs.org/)
- [NextUI](https://nextui.org/)
- [NextAuth.js](https://authjs.dev/getting-started/installation)
- [React](https://react.dev/)
- [React-Icons](https://react-icons.github.io/react-icons/)
- [React Hook Form](https://www.react-hook-form.com/)
- [React-Toastify](https://www.npmjs.com/package/react-toastify)
- [TailwindCSS](https://tailwindcss.com/)
- [Zod](https://zod.dev/)
- [PrismaORM](https://authjs.dev/getting-started/adapters/prisma)
- [bcrypt.js](https://www.npmjs.com/package/bcryptjs)
- [Docker](https://www.docker.com/)
- [Cloudinary](https://cloudinary.com/)
- [Pusher](https://pusher.com/)
- [Zustand](https://zustand-demo.pmnd.rs/)
- [Resend](https://resend.com/)Test Users pictures from [freepik](https://www.freepik.com)
Home page gif created with [Canva](https://www.canva.com)### Deploy on Vercel
App is deployed on Vercel at [link](https://heartbound.vercel.app).
[to top](#heartbound---dating-app)