Skip to content

OrcaSwipe πŸ‹ -- BCIT CST Term 2 Project for COMP 2800 (BBY-38)

Notifications You must be signed in to change notification settings

gathrean/OrcaSwipe

Repository files navigation

OrcaSwipe

OrcaSwipe

Discover, join, and host tailored communities and events with a swipe, connecting you with like-minded individuals and enabling easy filtering, finding, and hosting of Pods.

πŸ‹ About the App

This app facilitates the creation and exploration of events, termed pods, tailored to users' preferences. Users can generate preference tags by providing prompts to ChatGPT, receiving tags aligned with their interests.

Key functionalities of each core page are as follows:

Splash Page (`/`)
  • Double tap the Orca icon for a surprise.
Login and Signup Pages (`/login`, `/signup`)
  • Users can sign up with credentials and proceed to log in.
Filtering Pods (`/home`)
  • Users describe preferred activities or interests in the prompt box, receive suggested tags, and add them to their profile. These tags are used for filtering pods.
Discover Pods (`/findPods`)
  • Main browsing page for pod cards, displaying titles, locations, dates, descriptions, and related tags. Users can adjust tags, location proximity, or create their own pods.
Host Pods (`/createPods`)
  • Users view and create pods, providing required details such as pod name, image, description, date, time, tags, and location. Suggested tags align with the app's community vision.
Your Profile (`/profile`)
  • Users can access their profile, view/edit details, and see their profile photo and username. Fields are optional.

πŸ‹ Technologies Used

Front End

Front End

Back End

Back End

Database

Back End

Artificial Intelligence
  • ChatGPT-3.5
  • GPT-4

πŸ‹ Install (For Development)

What do I install from npm?
    npm install bcrypt
    npm install firebase-admin
    npm install openai -- save
    npm i luxon
    npm install dotenv
How should my .env file consist of?

In your local .env, make sure you have the following fields filled in with your own keys: Note: OrcaSwipe is set to port 3000

    PORT

    MONGODB_USER
    MONGODB_PASSWORD
    MONGODB_CLUSTER
    MONGODB_DATABASE
    MONGODB_SESSION_SECRET
    NODE_SESSION_SECRET
    HASHED_PASSWORD

    EMAIL
    EMAIL_APP_PASSWORD

    HOST_URL

    IMAGE_FIREBASE_JSON

    OPENAI_API_KEY
    OPENAI_ORG
    
    // for firebase configuration
    TYPE
    PROJECT_ID
    PRIVATE_KEY_ID
    PRIVATE_KEY
    CLIENT_EMAIL
    CLIENT_ID
    AUTH_URI
    TOKEN_URI
    AUTH_PROVIDER_X509_CERT_URL
    CLIENT_X509_CERT_URL
    UNIVERSE_DOMAIN
How do I use the Firebase Storage?
  1. Go to Project Overview
  2. Go to Project Settings
  3. Go to Service Accounts
  4. Go to Firebase Admin SDK
  5. Choose Node.js
  6. Finally, generate new private key

This will generate a .json file with the keys that you need to add to in the firebase fields in your .env

This does NOT go into you public repo.

πŸ‹ Roles & Contact Info

Reveal table
Name Role in the Project LinkedIn
Gathrean Dela Cruz UI/UX Design, Frontend, Backend, Graphic Designer LinkedIn
Laurie Solkoski AI, Datasets, Full-Stack LinkedIn
Alex Sichitiu Full-stack LinkedIn
Ozan Yurtisigi Database LinkedIn

Thank you for checking out this Repo!

OrcaSwipe