README.md 3.92 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# README for `pti`

## Authors

| Nom | Profil GitLab | Email |
|:--- |:---:|:---:|
| Clément Jeannet | [Link](https://gitlab.unige.ch/Clement.Jeannet) | [Mailto](mailto:clement.jeannet@etu.unige.ch) |
| Nicolas Boeckh | [Link](https://gitlab.unige.ch/Nicolas.Boeckh) | [Mailto](mailto:nicolas.boeckh@etu.unige.ch) |

## Navigation

- [Instruction](#instruction)
  - [Idée](#idée)
  - [Algorithme](#algorithme)
  - [Données](#données)
- [Fonctionnalités Désirées](#fonctionnalités-désirées)
- [DB Elements](#db-elements)
- [Scenarii](#scenarii)
  - [Sign up](#sign-up)

___

## Instruction

([Back to top](#navigation))

### Idée

Le projet consiste à réaliser un forum de discussion similaire à [reddit.com](https://reddit.com) ou [inilab.ch](https://inilab.ch).

Il faut pouvoir initier des discussions, regrouper dynamiquement les sujets de discussion démarrés de manière indépendante selon leur similarité, permettre de commenter plus une discussion ou un commentaire sur une discussion, visualiser le tout.

Possibilité de voter les commentaires. Lister les discussions selon leur popularité (nombre de commentaires ou nombre de personnes qui font des commentaires). Pour une discussion donnée, montrer tous les commentaires votés positivement et négativement.

### Algorithme

Similarité des discussions, analyse sémantique, ré-organiser les postes par thèmes (e.g. arguments liés à la finance, …)

Diff implementation

### Données

Générer/collecter des données à partir des forums

___

## Fonctionnalités désirées

([Back to top](#navigation))

- Login (username || email, password)
- Sign up form (Captcha)
- Template (Post) [type: text || image || video, title, flavor: tags, upvotes, user, (group)]
- Template (Comment) [type: text || image, title, upvotes, user]
- Timeline () : Sortable by Hot, by New, by Controversial, only certain groups
- Search for group

___

## DB Elements

([Back to top](#navigation))

- `USER` : username, email, password SHA_256 + salt, description, follows (`FOLLOWS*`), miniature (image), preferences (`PREFERENCES`), confirmed
- `POST` : poster (`USER`), upvotes (`UPVOTE*`), content, since, comments (`COMMENT*`)
Nicolas Richard Walter Boeckh's avatar
README    
Nicolas Richard Walter Boeckh committed
66
- `POST_INIT` (`instance:POST`) : title, flavor (`FLAVOR*`), group (`GROUP`),
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
- `COMMENT` (`instance:POST`) : depth
- `GROUP` : image, description, followers (`FOLLOWS*`), since, moderators (`USER*`)
- `FOLLOWS` : user (`USER`), follow (`GROUP`), since
- `UPVOTE` : user (`USER`), post (`POST`)
- `PREFERENCES` : theme, (lang),

___

## Scenarii

([Back to top](#navigation))

### Sign Up

Actors : John Doe

Nicolas Richard Walter Boeckh's avatar
README    
Nicolas Richard Walter Boeckh committed
83
John Doe wishes to sign up to the platform.
84
85
86
87
88
89
90
91
92
93
94
95
96
97

Since he is not signed in, he can only see the sign up button in the header.

He presses it, and is redirected to the sign up page.

There he enters his username, email, password, password confirm and confirms he is not a robot, he also accepts the SLA (/sells his soul to the devil), then presses confirm.

If any of the previous conditions generate errors, he has to complete it with non-error generating things.

He will need to enter a 6 digit code sent to him by email (he can go back and fill in a real email if not real), option to resend, becomes invalid after 5 minutes.

After this he can submit the form and the account is created.

He receives a confirmation email *without* the password.
Nicolas Richard Walter Boeckh's avatar
Changes    
Nicolas Richard Walter Boeckh committed
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114

___

## Analyse Sémantique (avec G. Falquet)

- Limite la répétition
- Algorithme : Fred (JS)

Clustering : Quantité de documents, mesure de distance entre deux textes (puis calcul de centroide du cluster -> puis reclassification), give number of clusters, (guess number of clusters optional).

Black list de mots conjonctifs et déterminants.

- javascript algorithm syntax analysis stanford

[babelfy](http://babelfy.org/)

Plus la fréquence est élevée plus il est important, plus la fréquence globale est élevée moins il est important.