Daysail is a web app that aims to connect recreational sailors and sailboat owners. Boat owners can submit information about their boats, and recreational sailors get to see the boats in their area and can express interest with "likes".
- A user registers and logs in to the app.
- The user sees a list of all posted boats.
- The user can view the details for one or more boats and clicks "favorite" if he/she likes the boat.
- The user can view a list of their favorite boats.
- A user who owns a boat may: -- add his/her boat to the app -- update the information for the boat; -- delete the boat.
- Landing page
- Registration Page
- Login page
- Crete new boat
- View of all boats
- View of one boat
- View "faves"
- Edit boat details
- Delete boat
A proposal was submitted during the design phase. A database schema was written as part of the design proposal.
- React client
- React Router
- Express server
- node.js
- Postresql database
- Semantic UI React
- JSON Web Tokens
- bcrypt
- body-parser
- nodemon
- pg-promise
- morgan
- concurrently
- Lucid Chart
Users must be authenticated and authorized on to the app for key functions such as saving a favorite or editing/deleting boats.
- Users of the app must register and then login.
- Users who own boats can add their boat to the app. Owners can also update or delete their boat information from the app.
- Users not logged on can only view information and cannot make updates.
- All logged on users can look at the boats on the app.
- Users can "like" the boats that they are interested in.
- Users can see a list of the boats they like.
- Boat owners who have extra space for sailors can post a daysail trip. A daysail is a trip that is less than a day, and starts and ends in the same location.
- Owners can update the trip details and delete the trip.
- Users who would like to crew can join a trip.
- Users can remove themselves from a trip.