PyMatcha
Made by Jules Lasne and Lauris Skrauci
Summary
- Why ?
- Installation
- Services in docker-compose
- What does it look like
- How long did it take
- How many lines of code
- What are the features
Why ?
Matcha is a 42 school project aiming to teach how to make a dating website. Lauris and Jules chose to make it as close as it could be to a real production product. You can find the subject here
Installation
For production
You can simply download or git clone the project and, once inside of it, run docker-compose up --build.
The website will be accessible on port 4242.
For developpment
First of all, clone or download the repository, extract it if necessary then cd into it.
Backend:
You'll need python3.8+. cd in the backend and run:
python3.8 -m venv venv --prompt PyMatchasource venv/bin/activatepip install backend/requirements.txtpython run.pyWorkers:
Same thing as for the backend, just then cd in the backend folder and run
celery -A PyMatcha.celery worker -E --loglevel=INFO -B --pool=threadsFrontend:
cd in the frontend folder and run yarn install then yarn run
The different services on the docker-compose:
- Backend on port
8080 - Frontend on port
4242 - Swagger doc on
9000 - PHPMyAdmin for debug on
8183 - Workers on internal port
- Redis on
6379 - MySQL on internal port
What does it look like
How long did it take
Lauris and Jules started working on it at the begining of september and finished on XXX.
If you see commits before September, it's of an older version where Jules changed twice of frontend partner
Here is a nice visual representation of the commits:
How many lines of code
As of Thu 12 Nov 11:40
637 text files.
624 unique files.
164 files ignored.
github.com/AlDanial/cloc v 1.88 T=1.68 s (333.3 files/s, 17377.3 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
JSON 329 0 0 7924
Python 119 1560 2126 5633
Vuejs Component 53 146 91 4492
YAML 7 32 22 2531
XML 14 0 0 2042
JavaScript 21 44 35 1156
CSS 5 61 5 459
HTML 4 0 22 253
SQL 1 43 66 202
Markdown 4 42 0 139
TOML 1 3 5 21
Dockerfile 1 12 0 18
SVG 1 0 0 8
-------------------------------------------------------------------------------
SUM: 560 1943 2372 24878
-------------------------------------------------------------------------------
Features implemented
- Sign-up and sign-in
- Forgot password email
- Resend confirmation email
- Registration process to add info on user
- Browse recommended users
- Filter them
- Sort them
- Search users
- Filter them
- Sort them
- Like and superlike a user
- Notifications for:
- Like
- Unlike
- Match
- Message
- Chat with instant replies
- Settings page where you can modify everything
- History page
Bonuses implemented
- Superlikes
- CI/CD
- Postman API tests
- Bots
- Swagger API Documentation
- Backend Site map (:8080/site-map)










