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
