Skip to content

An anonymous board to ask for help, coding or otherwise.

Notifications You must be signed in to change notification settings

myang5/ComplainSmith

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ComplainSmith

An anonymous board to ask for help, coding or otherwise.

--MVP-- Front End - Login Page / Signed Out Landing Page - Click to log in with GitHub OAuth - Do they give us their handle? (Does github give the username) - Check handle against whitelist (held in backend) - Avatar Login Page / Signed In User Landing Page - User chooses anonymous (name || picture) (from selection, or reroll) - Chat Page - Protected if unauthorized - Shows a history of chat messages - Shows user input area - Shows anonimized users (random name || pokemon pic, new each session) - Include specific logout button (remove the JWT token) Back End - Ensure no duplicate names or pictures at any given time || name / picture cooldown - Control current sessions - Users logged in / out as sockets - Pass messages as socket messages - Send new messages to storage (db) Database - Current users as name/picture - Whitelist of allowable users - Message history

Schema

MESSAGE:


PIC TIMESTAMP USERNAME MESSAGE

TABLE whitelist COLUMN github_handle varchar

TABLE messages COLUMN id int PRIMARY KEY COLUMN timestamp date COLUMN user_id int FOREIGN KEY COLUMN message varchar

TABLE users COLUMN user_id int PRIMARY KEY COLUMN username varchar COLUMN pic_url varchar

SERVERSIDE:

REDIS (key/value pairs) - Stores current active users (check against when assigning new users)

--Stretch-- Front End - Multiple rooms - Dirty word censor? (as an option)

Back End

Databases

Cookie Timeout - A week? (Can be determined at a later point)

Content moderation - Logging malicious IP addresses / github for blacklist

About

An anonymous board to ask for help, coding or otherwise.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 87.3%
  • CSS 11.8%
  • HTML 0.9%