Pārlūkot izejas kodu

Update 'README.md'

Kristofer Younger 6 gadus atpakaļ
vecāks
revīzija
d3b6bb277f
1 mainītis faili ar 58 papildinājumiem un 1 dzēšanām
  1. 58
    1
      README.md

+ 58
- 1
README.md Parādīt failu

@@ -1,3 +1,60 @@
1 1
 # ZipLine
2 2
 
3
-a distributed facebook social media clone
3
+a distributed facebook social media clone
4
+
5
+
6
+### Project planning:
7
+Use the git server to record project plans in the project repo’s wiki.
8
+Each project must keep:
9
+* An overview document of the project
10
+* A plan of phases of the project
11
+* The issue tracker in the repo must track what’s being worked on
12
+  * Track the assignment of different parts of the project to students (using Issues)
13
+  * Each section of the app needs to keep pages on its design, progress and bugs (using Issues)
14
+  * All issues should be attached to project milestones and assigned to team members.
15
+* UML diagrams and specs must be kept, seriously. 
16
+* API design docs, for each segment where a protocol needs to be used for data communications.
17
+* Designs should use Model/View/Controller, with Client and Server focus subgroups
18
+* UI/UX should be done in Typescript/Ionic/Angular (or another pre-approved)
19
+* The database should be either MySQL, MariaDB or Postgres.
20
+*The app server must be based on Spring.io (probably spring boot)
21
+
22
+Each web-app project needs to include a server backed by a database and one or more clients (web? Mobile? terminal?).
23
+The project work should be in agile sprints of 3-5 days, commit histories are important. Each students should work in a different git branch). Multiple commits should be done daily on all personal work. All sprints end with a complete merge back to the master branch, and a demo/preso for an instructor.
24
+The project should start with simple features, and then add to it over the course of several weeks (and several sprints).
25
+The internet has many different ways of doing each of these projects, tutorials, descriptions and so on, describing how these things can be done. Research on the topics should be considered to be the very first task a group should do on the project.
26
+The User Interface for the project should start with simple UIs, and refine/embellish them over the sprints. The final front end UI should be written in Typescript/Ionic/Angular (or in a UX framework approved by Kris).
27
+
28
+### Description - Distributed social network
29
+
30
+Each node represents a single member of the network. Each node owns and keeps all it’s data, but not the data from any other member.
31
+
32
+The nodes do a P2P api protocol
33
+
34
+Member api
35
+New user, new node
36
+
37
+
38
+Connect api
39
+The node registers with a key server
40
+Links a github ID with a member entry
41
+Github_id
42
+Machine_name
43
+Each account (github_id) has a single spring.io server where data is kept.
44
+
45
+Friend api
46
+make/break friend (by github_id)
47
+Refer a friend
48
+Each node tracks its friends
49
+
50
+Channel api
51
+create/delete a channel
52
+invite /remove a friend from a channel (by owner?)
53
+Post/Comment api.
54
+Post to a channel, delete.
55
+Comment to a post, delete comment
56
+
57
+Start with a simple server, posts, single private channel.
58
+Add public timeline
59
+Add friending(connection, listing, adding, deletion)
60
+Add channel creation, posting.commenting, image/text