Skip to content

Commit 3d9bb11

Browse files
committed
docker-compose
1 parent 2a0f2a4 commit 3d9bb11

File tree

12 files changed

+10363
-3484
lines changed

12 files changed

+10363
-3484
lines changed

Dockerfile

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
## start with a base image
12
FROM maven:latest
2-
RUN mkdir /obo
3-
WORKDIR /obo
4-
COPY . .
5-
EXPOSE 8080
6-
CMD [ "mvn", "spring-boot:run" ]
3+
VOLUME /tmp
4+
ARG PROJECT_VERSION=0.0.1
5+
RUN mkdir -p /home/app
6+
WORKDIR /home/app
7+
ENV SPRING_PROFILES_ACTIVE application
8+
COPY ./ .
9+
ADD target/ticket-booking-api-0.0.1-SNAPSHOT.jar ticket-booking-api-0.0.1-SNAPSHOT.jar
10+
EXPOSE 8888
11+
ENTRYPOINT ["java", "-jar", "ticket-booking-api-0.0.1-SNAPSHOT.jar"]
12+
CMD ["mvn", "spring-boot:run"]

booking_ticket.sql

Lines changed: 10296 additions & 0 deletions
Large diffs are not rendered by default.

docker-compose.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: '3'
2+
3+
services:
4+
mysql:
5+
image: mysql:latest
6+
environment:
7+
MYSQL_ROOT_PASSWORD: 12042003
8+
MYSQL_DATABASE: booking_ticket
9+
MYSQL_USER: admin
10+
MYSQL_PASSWORD: 12042003
11+
ports:
12+
- "3307:3306"
13+
14+
springboot-app:
15+
image: ticket-booking-api:latest
16+
volumes:
17+
- /tmp
18+
- ./booking_ticket.sql:/docker-entrypoint-initdb.d/init/sql
19+
environment:
20+
SPRING_PROFILES_ACTIVE: application
21+
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/booking_ticket?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
22+
SPRING_DATASOURCE_USERNAME: admin
23+
SPRING_DATASOURCE_PASSWORD: 12042003
24+
working_dir: /home/app
25+
ports:
26+
- "8888:8888"
27+
entrypoint: [ "java", "-jar", "ticket-booking-api-0.0.1-SNAPSHOT.jar" ]
28+
depends_on:
29+
- mysql
30+
build:
31+
context: .
32+
args:
33+
PROJECT_VERSION: 0.0.1

src/main/java/com/hoangtien2k3/ticketbookingapi/repository/CinemaRepository.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ public interface CinemaRepository extends JpaRepository<Cinema, Integer> {
1313
@Query(value = "SELECT `cinemas`.* FROM `cinemas`,`schedule`, `room` WHERE `schedule`.`room_id` = `room`.`room_id` AND `room`.`cinema_id` = `cinemas`.`cinema_id` AND `schedule`.`schedule_id` = ?1", nativeQuery = true)
1414
Cinema getCinemasByIdSchedule(Integer schedule_id);
1515

16-
1716
@Query(nativeQuery = true, value = "SELECT `cinemas`.* FROM `cinemas`, `schedule`, `room` WHERE `schedule`.`room_id` = `room`.`room_id` AND `room`.`cinema_id` = `cinemas`.`cinema_id` AND `schedule`.`movie_id` = ?1 AND `schedule`.`schedule_date` = ?2")
1817
List<Cinema> getScheduleCinema(Integer movie_id, String schedule_date);
1918

src/main/java/com/hoangtien2k3/ticketbookingapi/repository/UserRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ public interface UserRepository extends JpaRepository<User, Integer> {
1414
// lấy thông tin user bằng id
1515
@Query(name = "getUserNameProfile", nativeQuery = true)
1616
UserNameProfile getUserById(Integer user_id);
17+
1718
//Thêm user vào dữ liệu ;
1819
@Transactional
1920
@Modifying
2021
@Query(value = "INSERT INTO `users`( `username`, `password`, `user_avatar`, `user_fullname`, `user_birthday`, `user_gender`, `user_email`, `user_city`, `user_phone`, `user_point`) VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,0)", nativeQuery = true)
2122
Integer registerUser(String username, String password, String user_avatar, String user_fullname, String user_birthday, Integer user_gender, String user_email, String user_city, String user_phone);
23+
2224
//update
2325
@Transactional
2426
@Modifying

src/main/java/com/hoangtien2k3/ticketbookingapi/service/MovieService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public ResponseData<Movie> getAllMovie(){
2323
public ResponseData<Movie> getMoviesNow(){
2424
List<Movie> rs = movieRepository.getMoviesNow();
2525
if(CollectionUtils.isEmpty(rs)){
26-
return new ResponseData(HttpStatus.NOT_FOUND, "failed", null);
26+
return new ResponseData<>(HttpStatus.NOT_FOUND, "failed", null);
2727
}else{
2828
return new ResponseData(HttpStatus.OK, "successfully", rs);
2929
}
@@ -33,7 +33,7 @@ public ResponseData<Movie> getMoviesNow(){
3333
public ResponseData<Movie> getMoviesFuture(){
3434
List<Movie> rs = movieRepository.getMoviesFuture();
3535
if(CollectionUtils.isEmpty(rs)){
36-
return new ResponseData(HttpStatus.NOT_FOUND, "failed", null);
36+
return new ResponseData<>(HttpStatus.NOT_FOUND, "failed", null);
3737
}else{
3838
return new ResponseData(HttpStatus.OK, "successfully", rs);
3939
}

src/main/java/com/hoangtien2k3/ticketbookingapi/service/ScheduleService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class ScheduleService {
2323
public ResponseData<ResponseScheduleCinema> getScheduleCinema(Integer movie_id, String schedule_date) {
2424
List<ResponseScheduleCinema> rs = scheduleRepository.getSchedule(movie_id, schedule_date);
2525
if (CollectionUtils.isEmpty(rs)) { // CollectionUtils.isEmpty(rs): kiếm tra cả null lẫn empty
26-
return new ResponseData(HttpStatus.NOT_FOUND,"Not found schedule", null);
26+
return new ResponseData<>(HttpStatus.NOT_FOUND,"Not found schedule", null);
2727
} else {
2828
return new ResponseData(HttpStatus.OK,"successfully", scheduleRepository.getSchedule(movie_id, schedule_date));
2929
}

src/main/java/com/hoangtien2k3/ticketbookingapi/service/SeatService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class SeatService {
1414

1515
public ResponseData<Integer> getSeatEmpty(Integer schedule_id) {
1616
if (seatRepository.getSeatEmptyBySchedule(schedule_id).isEmpty()) {
17-
return new ResponseData(HttpStatus.NOT_FOUND, "failed", null);
17+
return new ResponseData<>(HttpStatus.NOT_FOUND, "failed", null);
1818
} else {
1919
return new ResponseData(HttpStatus.OK, "successfully", seatRepository.getSeatEmptyBySchedule(schedule_id));
2020
}

src/main/java/com/hoangtien2k3/ticketbookingapi/service/UserService.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ public class UserService {
3333

3434
public ResponseData<Integer> registerUser(@RequestBody User user) {
3535
if (userRepository.findByUsername(user.getUsername()) != null) {
36-
return new ResponseData(HttpStatus.OK, "Register failed, user existed", 0);
36+
return new ResponseData<>(HttpStatus.OK, "Register failed, user existed", 0);
3737
}
3838
if (userRepository.findByUsername(user.getUserEmail()) != null) {
39-
return new ResponseData(HttpStatus.OK, "Register failed, email existed", 0);
39+
return new ResponseData<>(HttpStatus.OK, "Register failed, email existed", 0);
4040
}
4141
if (userRepository.findByUsername(user.getUserPhone()) != null) {
42-
return new ResponseData(HttpStatus.OK, "Register failed, phone existed", 0);
42+
return new ResponseData<>(HttpStatus.OK, "Register failed, phone existed", 0);
4343
}
4444

4545
String avatar;
@@ -49,15 +49,15 @@ public ResponseData<Integer> registerUser(@RequestBody User user) {
4949
avatar = "https://github.com/hoangtien2k3qx1/ticket-booking-api/blob/master/image/female.png";
5050
}
5151

52-
return new ResponseData(HttpStatus.OK, "success", userRepository.registerUser(user.getUsername(), passwordEncoder.encode(user.getPassword()), avatar, user.getUserFullname(), user.getUserBirthday(), user.getUserGender(), user.getUserEmail(), user.getUserCity(), user.getUserPhone()));
52+
return new ResponseData<>(HttpStatus.OK, "success", userRepository.registerUser(user.getUsername(), passwordEncoder.encode(user.getPassword()), avatar, user.getUserFullname(), user.getUserBirthday(), user.getUserGender(), user.getUserEmail(), user.getUserCity(), user.getUserPhone()));
5353
}
5454

5555
public ResponseData<String> loginUser(String username, String password) {
5656

5757
Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(username, password));
5858
SecurityContextHolder.getContext().setAuthentication(authentication);
5959
String jwt = token.generateToken((UserDetails) authentication.getPrincipal());
60-
return new ResponseData(HttpStatus.OK, "successfully", jwt);
60+
return new ResponseData<>(HttpStatus.OK, "successfully", jwt);
6161

6262
}
6363

@@ -79,7 +79,7 @@ public ResponseData<String> updateUser(Authentication authentication, UserNamePr
7979
}
8080

8181
public ResponseData<User> getInfo(Authentication authentication) {
82-
return new ResponseData(HttpStatus.OK, "successfully", userRepository.findByUsername(authentication.getName()));
82+
return new ResponseData<>(HttpStatus.OK, "successfully", userRepository.findByUsername(authentication.getName()));
8383
}
8484

8585
}
Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1+
## server port
12
server.port=8888
23

3-
## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
4+
## name local
5+
spring.application.name=ticket-booking-api
6+
7+
## management endpoints
8+
management.endpoints.web.exposure.include=*
49

510
## data localhost
611
spring.datasource.url=jdbc:mysql://localhost:3306/booking_ticket?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false
@@ -9,14 +14,16 @@ spring.datasource.password=12042003
914

1015
## hibernate properties
1116
## the SQL dialect makes Hibernate generate better SQL for the chosen database
12-
spring.jpa.show-sql=true
13-
spring.jpa.properties.hibernate.format_sql=true
17+
spring.jpa.show-sql=false
18+
spring.jpa.properties.hibernate.format_sql=false
19+
spring.jpa.properties.hibernate.use_sql_comments=false
20+
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
1421
logging.level.org.hibernate.SQL=DEBUG
1522
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
16-
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
1723

1824
## Hibernate ddl-auto (create, create-drop, validate, update)
1925
spring.jpa.hibernate.ddl-auto=update
2026

27+
## secret key and expiration
2128
jwt.secret=VID2023
2229

0 commit comments

Comments
 (0)