Skip to content

SA-BlueOcean/PetCentral

Repository files navigation


Table of Contents
  1. About
  2. Getting Started
  3. Contributing
  4. License
  5. Contact
  6. Attribution

About

PetCentral is a full-stack application that allows users to connect with other pet owners in their area.

Some of our key features are:

  • Secure Sign-in

    Sign in with GitHub, Google, or Facebook OAuth. Rest easy knowing that your pet's safety and privacy are our priorities too!


  • Profile Page

    Curate your pet's story and your own, showcasing cherished moments and forming connections within our vibrant community of pet enthusiasts!

    profile demo

  • Pet Management

    Show off all of your furry or feathered friends! Have new information about your pet? No problem! Edit and personalize their details effortlessly to keep their records up-to-date. Feel free to remove pets as your circumstances change. Our pet management feature offers a comprehensive and user-friendly platform for all your pet-related needs.

    profile pet demo

  • Messaging Platform

    Stay connected with fellow pet lovers through our intuitive realtime messaging system.

    chat demo

  • Forums

    Step into our lively community forum, where the joy of connecting with fellow pet lovers knows no bounds! Our dynamic group browsing feature makes exploring and joining diverse groups effortless, and allows you to discover and join diverse groups tailored specifically to your furry friend's needs with a simple click of a button. Find communities that resonate with your pet's unique interests and quirks and dive deeper into compelling conversations on dedicated forum pages, where each thread serves as a gateway to in-depth exchanges, creating a haven for sharing experiences and valuable advice.

    forum demo

  • Friend-Finding: Discover new friends for both you and your pet!

    Utilize our friendly friend-finding feature to connect with local pet owners! If you both match, you are friends! Find friends within a selectable radius to show friends near you. This is built to filter the database for users within a selected distance range, that you have not already sent a friend request to, and that you are not already friends with. Additionally it will also return users who have sent you a friend request regardless of distance to facilitate more matches. Adding a friend will add a request to the datatabase and trigger a custom animation mangaged by state.

    friends demo

  • Posts

    Create posts to your profile or a forum with images, vote and comment!

    post demo

  • Search Bar

    Filter through groups and posts for dynamically rendered content.

    post demo

Built With

Typescript next.js tRPC React
Prisma Supabase Tailwind CSS DaisyUI

(back to top)

Getting Started

Before getting started with PetCentral please ensure that you have a database set up to work with Prisma. We highly recommend Supabase

Prerequisites

NPM

npm install npm@latest -g

Node.js

Node version is expected to be v20.10.0 or higher

nvm install --lts
node --version

Installation

  1. Clone the repo
    git clone https://github.com/SA-BlueOcean/PetCentral.git
  2. Install NPM packages
    npm install
  3. Rename .env.example to .env and fill in the following fields:
    DATABASE_URL
    NEXTAUTH_URL
    NEXTAUTH_SECRET (use # openssl rand base64 32 to generate)
    GITHUB_CLIENT_ID
    GITHUB_CLIENT_SECRET
    GOOGLE_CLIENT_ID
    GOOGLE_CLIENT_SECRET
    FACEBOOK_CLIENT_ID
    FACEBOOK_CLIENT_SECRET
    NEXT_PUBLIC_SUPABASE_URL
    NEXT_PUBLIC_SUPABASE_ANON_KEY
    
    Check NextAuth.js documentation for more information on how to set up OAuth providers
  4. Run Prisma generate to generate the Prisma client
npx prisma generate
  1. Push schema to the database
npm run db:push

Optionally, seed the database

npm run db:seed
  1. Run the development server
npm run dev

(back to top)

Contributing

Feel free to join in! Whether its fixing bugs, improving documentation, or simply spreading the word! Please see Contributing Guidelines for further guidance. If you require assistance please don't hesitate to reach out!

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Burhan

Clay

Derek

Hazel

Mallory

Ming Lee Ng

Thomas Harbert

(back to top)

Attribution

Project bootstrapped with T3 Stack

Animal Shelter icon by Icons8