Tripsters is a full-featured application designed to manage trips, friendships, voting, messaging, and map points for users planning shared adventures.
The application allows users to:
- Create and manage trips
- Invite friends
- Vote on trip decisions
- Exchange messages
- Map out trip routes
- User Registration & Authentication: Sign up, log in, and manage accounts
- Trip Management: Create, update, delete trips, add users to trips
- Friendship Management: Add, update, or delete friends, view all friendships
- Voting System: Create votes and options, allow users to vote
- Chat System: Send and receive messages within trips
- Map Management: Add, view, and remove map points
- Spring Boot
- Spring Security
- Spring Data JPA
- Hibernate Validator
- Lombok
- MapStruct
- Swagger
- Liquibase
POST /auth/registration
- Register a new userPOST /auth/login
- User login
POST /trip
- Create a new tripPUT /trip
- Update trip detailsDELETE /trip/{tripId}
- Delete a tripGET /trip
- Get all trips for the current userGET /trip/{tripId}
- Get trip detailsGET /trip/user/{userId}
- Get trips for a specific user
POST /votes
- Create a new voteGET /votes/{voteId}
- Get vote detailsGET /votes/trip/{tripId}
- Get all votes for a specific trip
POST /friends
- Add a new friendGET /friends
- Get all friendsDELETE /friends/{friendId}
- Remove a friend
POST /message
- Send a messageGET /message/trip/{tripId}
- Get all messages in a tripDELETE /message/{messageId}
- Delete a message
POST /map
- Add a new map pointGET /map/trip/{tripId}
- Get all map points for a specific tripDELETE /map/{mapId}
- Remove a map point