Skip to content
This repository has been archived by the owner on Aug 9, 2024. It is now read-only.

Latest commit

 

History

History
157 lines (106 loc) · 7.07 KB

README.MD

File metadata and controls

157 lines (106 loc) · 7.07 KB

PolyTinder


⚠️ PolyTinder is closed ⚠️

PolyTinder has received an exceptional reception within the student community, with the registration of several hundred members. However, due to the high costs associated with keeping the platform online, I made the decision to close the site.

This does not mean the end of PolyTinder! I currently do not have the time to create a committee to get the help and funding necessary to continue the project. However, if you are interested in taking over PolyTinder to maintain or transform it, do not hesitate to contact me at [email protected]. I would be delighted to help you take over the project.

Thank you to everyone who participated in PolyTinder, and see you soon!


Faites des rencontres de génies

Visit the app now at polytinder.com !

About How to contribute Project structure Installation More documentation

PolyTinder

📋 About

Based on the original idea from PolyGossip, the PolyTinder app aims to bring Polytechnique students closer together and create new relationships.

The app is developed by Polytechnique students, for Polytechnique students.

💪 How to contribute

The PolyTinder project is never finished! We are always looking for new features to add, bugs to fix and new ideas to implement.

You don't need to be a programmer to contribute. If you have ideas or find a bug, report it in the Issues section of the project.

If you are a programmer, you can contribute by create new fix or features issues. You can also look at existing issues and try to fix them. Here is the process to follow:

  1. Report the issue in the Issues section of the project.
    1. If the issue does not alreay exist, create it. Describe the feature you want to add or the bug you want to fix. If you have a solution, describe it. Label the issue with the appropriate label.
    2. Assign yourself to the issue you created or found. This way, we can avoid having two people working on the same thing. If someone is already assigned to the issue, you can comment on it to show your interest in working on it.
  2. Click on Create a branch, in the Development section of the issue. This will create a new branch with the name of the issue.
  3. Install the project locally (see Installation).
  4. Checkout the new branch and start working on the issue.
  5. Open a pull request when you are done. Describe the changes you made and link the issue. If the pull request takes a long time to complete, you can open it before you are done to get feedback on your work.
  6. Make sure the pull request passes all the checks (CI, lint, etc.) and that the code is well formatted.
  7. Assign a reviewer to the pull request. This person will review your code and give you feedback. If you are not sure who to assign, assign the person who created the issue or assign the PolyTinder account.

🏗️ Project structure

Packages

The project is divided into several packages, each having a well defined role.

  • API: Public API of the application
  • API Admin: Private API for the admin (same package as API)
  • Client: Web client for the app
  • Admin: Web client for the admin
  • Common: Common code shared between packages

A detailed description of each package is available in the README of each.

🛠 Installation

Prerequisites

Local development

In order to ensure that the correct development environment is used regardless of the machine, we use Docker for development. This way, dependencies (Angular CLI, for example) are installed in the container and not on the local machine. (For more information, see Dev Containers)

Then, the application stack is launched with Docker Compose to launch all the necessary services.

Installation

  1. Clone the project

    git clone [email protected]:PolyTinder/poly-tinder.git
  2. Open the project in VSCode

    cd poly-tinder
    code .
  3. Click on the Reopen in Container button in the lower left corner of the interface. (This step may take some time the first time)

  4. Install packages dependencies, from each packages, run:

    npm ci
  5. Execute the initial dabaase migration, from the API package, run:

    npx knex migrate:latest
  6. Populate the database, from the API package, run:

    npx knex seed:run test-users
  7. Launch the stack

    make

    This command will launch the following services:

  8. Open the app in your browser at http://localhost:4200. You can login with any user from the seeds file (but leaving the password blank).

Tips and tricks

  • Install the Docker extension in VSCode: Since the start command creates multiple containers, the console will output all the logs from all the containers. This can be confusing. The Docker extension allows you to see the logs of each container separately.

📄 More documentation