Coder Social home page Coder Social logo

jackyxcs / whereabouts Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 0.0 16.7 MB

Whereabouts is an app created for adventurers to visit random places and share about their experiences with others. Users now have a chance to uniquely explore the world, or simply their own neighborhoods, and connect with other explorers.

Shell 0.36% Dockerfile 0.64% Python 85.35% Mako 0.48% HTML 1.09% CSS 12.09%

whereabouts's People

Contributors

amandahinton avatar fremaawuku avatar jackyxcs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

whereabouts's Issues

User can log in

  • make login form
  • put form in modal
  • login button in nav
  • enter email and password
  • successful form submission authenticates user
  • if errors, submit button doesn't work and can't submit
  • if errors, keep ok data so don't have to redo
  • sign up and login buttons no longer visible
  • log out button available
  • session user data available
  • user stays on page they were already on, but has authenticated powers
  • CSS

check in with anyone else working on nav or modal

COMMENTS can create, read, update, and delete comments

CREATE

  • backend GET post/:postID/comments/new
  • backend POST post/:postID/comments/new
  • frontend GET post/:postID/comments/new -> get new post form
  • frontend POST post/:postID/comments/new
  • form is on post detail id page
  • user submits a comment on form
  • user cannot submit until no errors
  • successful submission adds to database
  • redirect to posts/:postID detail page, re-render comment list, and comment shows at top of list
  • CSS

READ

  • backend GET /comments/:commentID
  • frontend GET /comments/:commentID
  • all comments are visible on post detail id page
  • CSS

UPDATE

  • backend PUT /comments/:commentID
  • frontend PUT /comments/:commentID -> update your comment form
  • user can update their comments, user sees edit button on their own comments
  • edit form pre-populates current comment to look like the real comment
  • edit text (comment) is one form fields "embedded" within the post (similar to the experience of creating a new comment)
  • changes column data for that row in database
  • re-render post detail id page
  • CSS

DELETE

  • backend DELETE /comments/:commentID
  • frontend DELETE /comments/:commentID
  • delete button on comments that belong to user, with confirmation modal
  • removes comment from database
  • comment no longer shows
  • re-render post detail id page
  • CSS

check in with anyone else working on post updates for similar experience

Categorization - Bonus

  • Logged in users can see post tags with counts of how many have selected each tag
  • Logged in users can choose tags (want to go, cool, beautiful, funny, creepy)
  • Logged in users can remove/update their tag/s
  • Displayed alongside like count on post detail id page

Homepage

  • Navigation includes logo to return to homepage, login/logout, sign up, explore, user profile
  • Footer includes our names and links or a link to an about page
  • Splash section at top shows how to use the app: select a mission, visit the location, share what you see
  • CSS

MISSIONS Users can see and select missions

  • Research how to delete 3 unselected missions at midnight
  • Research how to delete 2 rejected missions when one is selected
  • user can submit their coords and specify radius
  • updates user slice of state for current location
  • we calculate three new random coords and display
  • user sees three mini-maps of the potential missions, with buttons to set as current mission, and a button to change their user_lng, user_lng, and user_radius
  • 3 missions stay on profile until midnight pacific or user selects one
  • if user picks one, profile shows current mission minimap, and button to post
  • lat and lng on selected mission create new row on missions table in database
  • mission slice of state is updated with user and coords
  • if user doesn't pick a mission, refreshes to 3 new missions at midnight pacific
  • if user clicks change location button, they can enter new lat, lng, and radius and get 3 new missions for the new location
  • CSS

Explore Page

  • Post feed of all posts in database
  • Grid of main photo from posts
  • Click photo to go to post detail id page
  • CSS

Create demo user

  • make signup form
  • include button at bottom of login and signup modal
  • sign up button no longer visible
  • log out button available
  • demo user stays on page they were already on, but has authenticated powers
  • CSS

check in with anyone else working on signup, login, nav, or modal

New user can sign up

  • make signup form
  • put form in modal
  • signup button in nav
  • enter email, username, and password
  • successful form submission puts user in database
  • if errors, submit button doesn't work and can't submit
  • if errors, keep ok data so don't have to redo
  • sign up button no longer visible
  • log out button available
  • new user goes to homepage
  • CSS

check in with anyone else working on nav or modal

Database

USERS

  • Model
  • Seeds

MISSIONS

  • Model

POSTS

  • Model
  • Seeds

LIKES

  • Model
  • Seeds

COMMENTS

  • Model
  • Seeds

OTHER

  • local databases on all our machines
  • associated files: app/init, config, env
  • Heroku Postgres DB set up

LIKES Users can like and unlike posts

LIKE

  • backend GET post/:postID/likes/new
  • backend POST post/:postID/likes/new
  • frontend GET post/:postID/likes/new
  • frontend POST post/:postID/likes/new
  • empty heart button on post that can be clicked
  • creates row on likes table for that post and user
  • appends user id to liked list in post slice of state
  • CSS

UNLIKE

  • backend DELETE likes/:likeID
  • frontend DELETE likes/:likeID
  • if user liked post, full heart button can be clicked
  • deletes row on likes table for that post and user
  • removes user id to liked list in post slice of state
  • CSS

USERS profile page and edit personal info

  • user can change their "home" location lat, lng, and radius (used to generate missions)
  • click change location button on mission
  • user can upload a profile photo with AWS
  • click default profile picture to edit
    section to enter new coords
  • frontend PUT /users/username -> edit profile form (change photo, lat, lng, radius)
  • backend PUT /users/username

POSTS can create, read, update, and delete posts

CREATE

  • backend GET /posts/new
  • backend POST /posts/new
  • frontend GET /posts/new -> get new post form
  • frontend POST /posts/new
  • user submits at least one photo (1-5), title, description
  • user cannot submit until no errors
  • user gets three new missions generated after completing post
  • !!! user can only make a post from the current mission
  • successful submission adds to database, including location from missions slice of state
  • refresh profile page after creation
  • posts slice of state is updated
  • CSS

READ

  • backend GET /posts/:postID
  • frontend GET /posts/postID
  • all previous posts are visible on user's profile page
  • some posts are available on explore page
  • all details (map, photos, title, description, likes, comments, user, created_at date) of individual post available on detail id page
  • CSS

UPDATE

  • backend PUT /posts/:postID

  • frontend PUT /posts/postID -> update your post form (you cannot change the photos, only text)

  • user can update only description

  • edit form pre-populates current info in the modal

  • changes column data for that row in database

  • refreshes post detail page

  • CSS

DELETE

  • backend DELETE /posts/:postID
  • frontend DELETE /posts/postID -> deletes your posts
  • delete button on post with confirmation modal
  • removes post from database
  • refresh profile page after deletion
  • CSS

check in with anyone else working on comment updates for similar experience

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.