Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Trevor Austin
/
mpcs-52553-austin-winter-2021
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Pipelines
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
6f0f3caf
authored
Feb 24, 2021
by
Trevor Austin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove SENDGRID requirement
parent
c99c24c9
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
5 deletions
final_project/README.md
final_project/README.md
View file @
6f0f3caf
...
...
@@ -42,11 +42,7 @@ messaging app Slack. We'll call our version [Belay](https://en.wikipedia.org/wik
should see just the messages in that channel or thread, with some menu element
to let them return to the channel list.
-
Users should have a display name and an email address, and be able to update
either in the app. Users authenticate with their email address and a password,
and can reset a lost password by having Belay send them a magic link. You may
use the
[
SendGrid API
](
https://github.com/sendgrid/sendgrid-python
)
to send
these messages, either with your own (free) account or by using the API key in
`sendgrid.env`
.
either in the app. Users authenticate with their email address and a password.
-
Belay is a single-page web application. We serve a single HTML request on load
and do not refresh the page. As users navigate to a channel, the application
updates the navigation bar to reflect what channel they are in, and navigating
...
...
@@ -108,20 +104,24 @@ Database (5 points)
-
Store passwords securely by hashing them with bcrypt
-
Model the replies_to relationship
-
Efficiently store last read message per channel per user
API (4 points)
-
Login endpoint
-
Authenticate to other endpoints via session token in request body (not as a URL param)
-
Endpoints to create and get channels and messages
-
Get new message counts by channel without fetching all the message contents
Responsive Layout (5 points)
-
Login and password reset flows
-
Show channels, messages, and replies (when shown) in 3-column grid
-
Show/hide threaded replies
-
On narrow screens, one-column layout with menu bar (2 points)
Single-Page State (3 points)
-
Only serve one HTML request
-
Push channel and thread location to the navigation bar
-
Track last read message per channel
Asynchronous Request Handling (3 points)
-
Continuously poll for new messages
-
Show new message counts per channel
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment