Last active
September 8, 2015 21:29
-
-
Save Ntropish/1dbad3cd66c9d0ff228c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| REST API An back-end written in Express | |
| Approximate Models to be made in MongoDB | |
| User | |
| username | |
| password (hashed with bcrypt) | |
| friend list (array of other user IDs) | |
| album list (array of albums) | |
| notifications (object of notifications) | |
| friend requests | |
| posts on profile/groups | |
| details (object containing details about the user) | |
| name | |
| image | |
| ... | |
| settings (object containing privacy and other settings) | |
| keep profile private | |
| ... | |
| Group | |
| name | |
| owner (user ID) | |
| members (array of user IDs) | |
| details (object containing details about the group) | |
| settings (object containing privacy and other settings) | |
| keep group private | |
| ... | |
| Post | |
| author (user ID) | |
| text | |
| type (User, Post, Album, Image) | |
| location (User, Post, Album, or Image ID) | |
| Image | |
| caption | |
| data (image data) | |
| Album | |
| name | |
| description | |
| images (array of image IDs) | |
| API Routes | |
| User (authorization conditionally required) | |
| Username | |
| GET | |
| Gets user data and paginated posts | |
| Also gets friend list, settings, albums, and group list if authorized | |
| PUT (auth required) | |
| Modify settings or account details | |
| DELETE (auth required) | |
| Delete user | |
| Authenticate | |
| POST | |
| Login user with JWT | |
| PUT | |
| Logout user | |
| Register | |
| POST | |
| Register user | |
| Album | |
| Album ID | |
| GET | |
| Get album info and paginated images | |
| PUT | |
| Modify album | |
| POST | |
| Add image to album | |
| DELETE | |
| Remove album | |
| POST | |
| Make new album on the authenticated user | |
| Image | |
| Image ID | |
| GET | |
| Get image and caption | |
| PUT | |
| Modify image if authorized | |
| DELET | |
| Remove image if authorized | |
| POST | |
| Add a new image on the authenticated user in the default album or one specified | |
| Group (authorization conditionally required) | |
| group name | |
| GET | |
| Gets group data and recent posts, or paginated posts if authorized | |
| DELETE | |
| Delete group | |
| PUT | |
| Update group settings or details | |
| POST | |
| Create group | |
| Post (authorization conditionally required) | |
| GET | |
| Get post author, post text, and post location if authorized or post is public | |
| POST | |
| Create post | |
| PUT | |
| Edit post | |
| DELETE | |
| Remove post | |
| Front End | |
| App to be made in Angular based on given design | |
| Will have friend/group management for viewing/searching one's groups/friends, | |
| links to view their pages, or removing them | |
| Will allow searching for groups and users | |
| Will allow visiting of groups or users and conditionally display content | |
| such as the user's friends, group members, user's posts, group posts, | |
| users name, group name, etc. based on authorization and will give options | |
| to add user as friend or request to join group | |
| User and Group pages will also allow viewing of image albums | |
| Viewing one's own page or group will allow changing of settings, details, | |
| and image album management. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment