Skip to content

Latest commit

 

History

History
80 lines (63 loc) · 1.97 KB

File metadata and controls

80 lines (63 loc) · 1.97 KB

StrayAid-Connect-BE-Final-yr-Project

Bachelor of Engineering (BE) Final year project

Web platform designed to connect individuals who are passionate about helping stray animals. It provides a centralized space where users can offer assistance, such as providing food, shelter, or medical aid, to stray animals in need. Through this platform, users can easily find and connect with others who share their commitment to improving the welfare of stray animals.

Tech Stack used

Front-end:
    Nextjs Framework
    Typescript
    TailwindCss
    React-Icons library

Back-end:
    Prisma
    Prisma for db schema design
    Mongodb for backend connectivity

API's:
  -Google oAuth
  -Cloudinary
  -NextAuth
  -Pusher (for sending messages between clients)

Twilio (sms)
Twilio client

Setup .env file

DATABASE_URL=
NEXTAUTH_SECRET=

NEXT_PUBLIC_PUSHER_APP_KEY=
PUSHER_APP_ID=
PUSHER_SECRET=

NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Setup Prisma

npx prisma db push

Url's for setup API keys and secret in .env

https://pusher.com/ - pusher
https://cloudinary.com/ -image upload cloudinary
https://console.cloud.google.com/apis/credentials - oauth sigin google
https://cloud.mongodb.com/ - database

Key Features:

  • Real-time messaging using Pusher
  • Message notifications and alerts
  • Tailwind animations and transition effects
  • Tailwind design for sleek UI
  • Full responsiveness for all devices
  • Google authentication integration
  • Credential authentication with NextAuth
  • File and image upload using Cloudinary CDN
  • Client form validation and handling using react-hook-form
  • Server error handling with react-toast
  • Online/offline user status
  • Message read receipts
  • Message attachments and file sharing
  • Group chats and one-on-one messaging
  • Creating and managing chat rooms and channels
  • User profile customization and settings
  • Sms functionality using twilio
  • pin a message etc, soon to be implemented