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
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.
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:
- Report the issue in the Issues section of the project.
- 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.
- 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.
- Click on
Create a branch
, in theDevelopment
section of the issue. This will create a new branch with the name of the issue. - Install the project locally (see Installation).
- Checkout the new branch and start working on the issue.
- 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.
- Make sure the pull request passes all the checks (CI, lint, etc.) and that the code is well formatted.
- 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.
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.
- Docker: to run the development stack.
- VSCode: to develop.
- Extension Dev Containers: to create the development environment.
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.
-
Clone the project
git clone [email protected]:PolyTinder/poly-tinder.git
-
Open the project in VSCode
cd poly-tinder code .
-
Click on the
Reopen in Container
button in the lower left corner of the interface. (This step may take some time the first time) -
Install packages dependencies, from each packages, run:
npm ci
-
Execute the initial dabaase migration, from the API package, run:
npx knex migrate:latest
-
Populate the database, from the API package, run:
npx knex seed:run test-users
-
Launch the stack
make
This command will launch the following services:
- API (http://localhost:3000): Public API of the application
- API Admin (http://localhost:3001): Private API for the admin (same package as API)
- Client (http://localhost:4200): Web client for the app
- Admin (http://localhost:4201): Web client for the admin
- Storybook (http://localhost:6006): Storybook for the client
-
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).
- 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. TheDocker
extension allows you to see the logs of each container separately.