Skip to content

Latest commit

 

History

History
173 lines (116 loc) · 5.07 KB

README.md

File metadata and controls

173 lines (116 loc) · 5.07 KB
Dorm Party Icon

Dorm Party

An app where incoming college freshmen can find dorm roommates.

This is just the frontend of the app, if you're looking for the backend: https://github.com/gabekutner/roommatefinder-backend

Table of Contents

Technologies Used

Check out the live app! Dorm Party Demo

Getting Started

🍴 Fork and Clone the Repo

  1. Fork the Repo: Click the "Fork" button on the top right of this repository. If you're new to forking, check out this YouTube Guide.

  2. Clone Your Fork: Click the Clone or Download button on the top right of your forked repo and clone it:

  git clone https://github.com/your-username/roommatefinder-mobile.git
  1. Navigate to the Directory:
  cd roommatefinder-mobile

⬇️ Running the Development Server

  1. Install Dependencies:

    • Install nvm then node & npm:

        brew install nvm && nvm install
    • Install watchman:

         brew install watchman
    • Install Xcode tools and make sure the optional "iOS Platform" package is installed.

  2. Install Project Dependencies:

       npm install
  3. Install CocoaPods Dependencies:

      npx pod-install
  4. Configure the Backend:

    • Make sure the Django REST backend is running. Don't worry this is super easy, follow the instructions in that repository here: https://github.com/gabekutner/roommatefinder-backend.

    • Update the API address in src/constants/apiConstants.ts:

        const ADDRESS = "http://<YOUR_IP_ADDRESS>:8000";
  5. Start the Project!

  npm start

These instructions should get you set up ready to work on Dorm Party 🎉

Features

👀 Basic

  • Login and registration with JWT token
  • Create profile

👤 Your profile

  • Update personal information
  • Add photos

💃 Swipe profiles

  • Send message requests
  • View profile details
  • View roommate matching quiz

💬 Friends and chats

  • Chat with friends

🔗 Matchmaking algorithm

  • Based on sex, dorm building, common interests, major, state, and more (details in the backend).

Project Structure

Most of the code is located in the src/ folder. Here's a brief overview:

  • assets : Images, fonts, theme, and constant data.

  • components : Reusable UI components.

  • constants : Constants used throughout the app (mostly deprecated).

  • core : Core functionalities (mostly deprecated).

  • libs : Zustand state management (store/), util functions, api definition, device storage.

  • navigators : Navigation configuration (Auth and App Navigation).

  • types : Typescript types for the parts of the app that use typescript.

  • views : Screen components organized in folders, with each folder containing an index.js file used for navigation.

Contributing

To contribute code changes, please follow these steps:

  1. Fork the Repository: Click the "Fork" button on the top right of this repository.

  2. Clone Your Fork: Clone your forked repository to your local machine:

    git clone https://github.com/your-username/roommatefinder-mobile.git
  3. Create a Branch: Create a new branch for your changes:

    git checkout -b your-branch-name
  4. Make Changes: Implement your changes on this branch.

  5. Commit Changes: Commit your changes with commit message letting me know what you did:

    git add .
    git commit -m "Add a descriptive message about the change"
  6. Push to Your Fork: Push your branch to your forked repository:

    git push origin your-branch-name
  7. Create a Pull Request: Open a pull request (PR) from your branch to the main branch of the original repository. Give a description of your changes and reference any related issues.

    • Title: A beautiful title for your PR.
    • Description: Explain what changes were made, why they were made, you get the gist.
  8. Celebrate: Once your PR is merged, celebrate!! 🎉