https://github.com/gabekutner/roommatefinder-mobile
Welcome to DormParty: a social platform for college kids looking for dorm roommates. Help out with the first version of RoommateFinder by sharing feedback and contributing to the code.
https://github.com/gabekutner/roommatefinder-mobile
react react-native
Last synced: 6 months ago
JSON representation
Welcome to DormParty: a social platform for college kids looking for dorm roommates. Help out with the first version of RoommateFinder by sharing feedback and contributing to the code.
- Host: GitHub
- URL: https://github.com/gabekutner/roommatefinder-mobile
- Owner: gabekutner
- License: apache-2.0
- Created: 2024-05-09T18:12:37.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-16T20:00:05.000Z (almost 2 years ago)
- Last Synced: 2024-08-16T22:47:24.454Z (almost 2 years ago)
- Topics: react, react-native
- Language: JavaScript
- Homepage: https://gabekutner.github.io/roommatefinder-mobile/
- Size: 14.7 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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](#technologies-used)
* [Local Development](#getting-started)
* [Features](#features)
* [Project Structure](#project-structure)
* [Contributing](#contributing)
# Technologies Used
* ⚛️ [React Native CLI](https://reactnative.dev/)
* 🐻 [Zustand State Management](https://github.com/pmndrs/zustand)
* ⚡ [Fast Image](https://github.com/DylanVann/react-native-fast-image)
* 🧭 [React Navigation](https://reactnavigation.org/)
* 🖥️ [Axios](https://github.com/axios/axios)
* 🚀 [FontAwesome](https://fontawesome.com/)
* 🌐 [React Native Paper](https://reactnativepaper.com/)
* 🖼️ [React Native Image Picker](https://www.npmjs.com/package/react-native-image-picker)
* 🔒 [React Native Encrypted Storage](https://www.npmjs.com/package/react-native-encrypted-storage)
> Check out the live app! [Dorm Party Demo](https://gabekutner.github.io/roommatefinder-mobile/)
# 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](https://www.youtube.com/watch?v=h8suY-Osn8Q).
2. **Clone Your Fork:** Click the Clone or Download button on the top right of your forked repo and clone it:
```bash
git clone https://github.com/your-username/roommatefinder-mobile.git
```
3. **Navigate to the Directory**:
```bash
cd roommatefinder-mobile
```
### ⬇️ Running the Development Server
1. **Install Dependencies:**
* Install `nvm` then `node` & `npm`:
```bash
brew install nvm && nvm install
```
* Install `watchman`:
```bash
brew install watchman
```
* Install Xcode tools and make sure the optional "iOS Platform" package is installed.
2. **Install Project Dependencies**:
```bash
npm install
```
3. **Install CocoaPods Dependencies**:
```bash
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`:
```typescript
const ADDRESS = "http://:8000";
```
5. **Start the Project!**
```bash
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:
```bash
git clone https://github.com/your-username/roommatefinder-mobile.git
```
3. **Create a Branch:** Create a new branch for your changes:
```bash
git checkout -b your-branch-name
```
4. **Make Changes:** Implement your changes on this branch.
7. **Commit Changes:** Commit your changes with commit message letting me know what you did:
```bash
git add .
git commit -m "Add a descriptive message about the change"
```
8. **Push to Your Fork:** Push your branch to your forked repository:
```bash
git push origin your-branch-name
```
9. **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.
11. **Celebrate:** Once your PR is merged, celebrate!! 🎉