Skip to content

Latest commit

 

History

History
160 lines (123 loc) · 5.14 KB

README.md

File metadata and controls

160 lines (123 loc) · 5.14 KB

What's Toogether app?

An app where users can create a group with their friends, match with other groups and hang out

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

Technologies

Features

👀 Basic

  • Login and registration with auth token
  • Create profile
  • Report profiles
  • Block / unblock profiles
  • Password recovery with email verification

👤 Your profile

  • Update your personal information
  • Add photos

💃 Swipe single and group profiles

  • Support single and group profiles
  • Like
  • Unlike
  • Undo

🕺🏼 Create a group profile with your friends

  • Create a groups
  • Invite friends using unique link
  • If admin (creator of the group): remove and add members
  • If not admin, join to group using the link and leave

💬 Group chat

  • Group chat generated automatically when joining or creating a group
  • For now the chat just support text messages

💬 Matches and chats

  • Chat with your matches
  • Delete matches
  • Report and block profiles

🔗 Matchmaking algorithm

List based on

  • Your location
  • Age
  • Gender
  • Preferences
  • Group sizes
  • More of the algorithm in the backend!

mailto: [email protected]

Initialization

Install the requirements

The following command allows you to install all the requirements using the exact same versions specified in the package.json

npm ci --legacy-peer-deps

Create an .env file

In the root of the project create an .env file with the following variables

MODE = development
IOS_LOCAL_URL = http://127.0.0.1:8000
ANDROID_LOCAL_URL = http://10.0.2.2:8000

Export your ANDROID_HOME SDK path

To find the path to your Android SDK installation, you can follow these steps:

  1. Open Android Studio.
  2. Click on "Configure" in the welcome screen or the main window.
  3. Click on "SDK Manager" from the dropdown menu.
  4. In the SDK Manager window, you should see the path to your SDK installation at the top of the window.
export ANDROID_HOME=/path/to/your/sdk

Run locally

For iOS

npm run ios

For Android

npm run android

Deployment

For both you can use the github action pipeline! 🚀

Style standards

To keep the code in a standard style we use Prettier + Eslint

To format the code using Prettier, run the following command: Make sure to run this command before any pull request

npm run format

To check errors in the code style, run the following command:

npm run lint:fix

Pull Requests

Before any merge to develop or rocket, it will be necessary to make a Pull Request and a code review.

Basic PR structure:

your-branch -> feature-branch -> develop -> rocket

Steps for a Pull Request

  1. Push your branch to the remote repository: git push
  2. Navigate to the GitHub website
  3. Create the pull request (PR) manually by selecting the correct feature-branch you are working on and clicking on the "New pull request" button
  4. Notify the team about your PR through our communication channel: Discord

Conventions

The conventions or general rules for the structure of this project are the following:

  • Folders or files that do not export objects or components, in lower case
  • Folders or files that export objects or components in capital letters
  • For all this project we use arrow functions, functional components and react hooks
  • To save states or information coming from the backend we use redux and the Flux Architecture
  • State and props must be destructured before used
  • More conventions and patters can be found looking the code

Summary of limitations

  • The Toogether name and brand are registered; you cannot use the name, designs, or colors.
  • You can use the app for any learning purpose as long as it runs in your local environment. In other words, you cannot deploy our code.
  • You can use the code for learning purposes and references. For example, if you are creating a similar app, you can use our code to learn how to build features like a swipe function and get inspiration from our implementation.
  • You cannot sell this code in any form.
  • You cannot conduct business with this code in any form

More information can be found in the LICENSE file in the root of the project. If you know of someone who is not respecting these limitations, please contact the owner at [email protected]. The open-source world thrives on our respectful behavior ❤️