removed plan.md
This commit is contained in:
parent
2cc5d78acd
commit
069d2b1667
2 changed files with 1 additions and 94 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
# Dating-Website
|
# Dating-Website
|
||||||
## Description
|
## Description
|
||||||
Minimal dating website made in python.
|
Minimal dating website made in python.
|
||||||
It uses flask to render the HTML, saves the data in a MySQL database and also features an authentication method using PGP where the database stores the user's PGP key's fingerprint and uses that to encrypt a message only you decrypt, but successfully decrypting the message you athenticate to your account.
|
It uses flask to render the HTML, saves the data in a database and also features an authentication method using PGP where the database stores the user's PGP key's fingerprint and uses that to encrypt a message only you decrypt, but successfully decrypting the message you athenticate to your account.
|
||||||
It's also supposed to be very easy to use, currently its still in development but the vision is that you can be enganged on the website right from the start featuring a very powerfull search page and not needing an account to use the website.
|
It's also supposed to be very easy to use, currently its still in development but the vision is that you can be enganged on the website right from the start featuring a very powerfull search page and not needing an account to use the website.
|
||||||
This website also does not use JavaScript making it easy to run on any browser.
|
This website also does not use JavaScript making it easy to run on any browser.
|
||||||
|
|
||||||
|
|
|
||||||
93
plan.md
93
plan.md
|
|
@ -1,93 +0,0 @@
|
||||||
# User System Plan
|
|
||||||
|
|
||||||
## 1. Database Schema (`User` model)
|
|
||||||
|
|
||||||
- **Identity & Security**
|
|
||||||
- `username` (unique, required)
|
|
||||||
- `pgp` (unique, required)
|
|
||||||
- `is_verified` (boolean)
|
|
||||||
|
|
||||||
- **Contacts**
|
|
||||||
- `xmpp` (unique, required)
|
|
||||||
- `email` (unique, optional)
|
|
||||||
- `phone` (unique, optional)
|
|
||||||
|
|
||||||
- **Personal Info**
|
|
||||||
- `firstname` (required)
|
|
||||||
- `lastname` (required)
|
|
||||||
- `sex` (`male` / `female`, required)
|
|
||||||
- `date_of_birth` (required)
|
|
||||||
- `race` (optional)
|
|
||||||
|
|
||||||
- **Profile & Media**
|
|
||||||
- `profile_picture` (required)
|
|
||||||
- `pictures` (optional array)
|
|
||||||
|
|
||||||
- **Location**
|
|
||||||
- `country` (required)
|
|
||||||
- `city` (optional)
|
|
||||||
|
|
||||||
- **Physical Attributes**
|
|
||||||
- `height` (optional float)
|
|
||||||
- `weight` (optional int)
|
|
||||||
|
|
||||||
- **Preferences**
|
|
||||||
- `prefered_age_range` (optional)
|
|
||||||
- `likes` (optional array)
|
|
||||||
- `dislikes` (optional array)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. Registration
|
|
||||||
|
|
||||||
1. **User fills form**
|
|
||||||
- All fields except `id`, `is_verified`.
|
|
||||||
|
|
||||||
2. **Server receives data**
|
|
||||||
- Validate required fields and unique constraints.
|
|
||||||
- Temporarily store as **unverified**.
|
|
||||||
|
|
||||||
3. **PGP Verification**
|
|
||||||
- Server encrypts a message with user's PGP public key.
|
|
||||||
- Show **validation page** with encrypted message.
|
|
||||||
- User decrypts message and submits.
|
|
||||||
- Server validates ownership and sets `is_verified=True`.
|
|
||||||
|
|
||||||
4. **Create Profile Page & Redirect**
|
|
||||||
- Generate user profile page with all info.
|
|
||||||
- Redirect user to main page or search page.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. Search Page
|
|
||||||
|
|
||||||
- **Display**: Public user profiles as cards
|
|
||||||
- Show `profile_picture`, `firstname`, `lastname`, age, `country`, `city`.
|
|
||||||
|
|
||||||
- **Filters**:
|
|
||||||
- All fields **except** `pgp`, `id`, `username`.
|
|
||||||
- Include boolean checks for presence of `email`, `phone`, `xmpp`.
|
|
||||||
|
|
||||||
- **Profile Click**
|
|
||||||
- Open full profile page with all info, pictures, likes/dislikes.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. Login Flow
|
|
||||||
|
|
||||||
1. User enters `username` + `PGP key`.
|
|
||||||
2. Server verifies PGP via challenge.
|
|
||||||
3. On success:
|
|
||||||
- User can edit **all fields** execpt `id` and `username`.
|
|
||||||
- User can change pgp key, new pgp key must be verified.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. Software Stack
|
|
||||||
|
|
||||||
- **Software used**:
|
|
||||||
- Flask (backend framework)
|
|
||||||
- MySQL (Database)
|
|
||||||
- SQLAlchemy (ORM)
|
|
||||||
- python-gnupg (PGP validation)
|
|
||||||
- Flask-WTF (Forms validation)
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue