Tinder for Redditors
- Scrum Master: Tyler Becks
- Development Team Members: Tyler Becks, Christine Chou, Jennifer Ong, Neil Whitehead
Use your reddit account to sign up for the application. Set your preferences and gender to start meeting others with common interests
- React x15.3.0
- Redux x3.5.2
- Node x6.2.2
- Express
- Neo4j-js
- MySQL
## Architecture ### High Level Architecture ![](http://i.imgur.com/SKdjwEE.png))
Purpose | URL |
---|---|
Sign-Up | /signup |
Login | /login |
Create Password | /createPassword |
Set Preferences | /preferences |
Upload Photo | /photoUpload |
Match with Users | /matchmaker |
User Profile | /profile |
Matches | /matches |
Purpose | URL | Method | Body |
---|---|---|---|
Authentication | /auth | GET | - |
Authentication | /auth/reddit | GET | - |
Authentication | /auth/reddit/callback | GET | - |
Get User Info | /api/userInfo/?redditId= | GET | - |
Update Password | /api/userInfo/updatePassword | POST | {redditId, password} |
Save Preferences | /api/userInfo/addPreference | POST | {redditId, gender, preference} |
Save Photo URL | /api/userInfo/addPhoto | POST | {redditId, photo} |
Verify Login | /api/userInfo/loginCredentials | POST | {username, password} |
Receive Potentials | /api/potentials/?redditId= | GET | - |
Create Potentials (?) | /api/potentials/createPotentials | POST | {redditId} |
Save Swipe Decision | /api/swipe | POST | {redditId, potentialId, swipeDecision} |
Get Matches | /api/swipe/matches | GET | - |
API Call | Response |
---|---|
/api/userInfo | { id, redditId, name, photo, gender, preference, deliveredDownvotes, deliveredUpvotes, receivedDownvotes, receivedUpvotes, commentKarma, postKarma, trophyCount, subreddits: [] } |
api/userInfo/loginCredentials | {redditId} |
api/potentials | [{redditId, photo, common_subreddits: []}, redditId, photo, common_subreddits: []}, redditId, photo, common_subreddits: []}] |
api/swipes/matches | [{redditID, name, photo, common_subreddits}] |
View the project roadmap here
This has been deployed onto AWS using Docker containers. The backend architecture allows horizontal scaling of the user server to handle higher loads.