Skip to content

UyCoder/bitirmeprojesi-UyCoder-1

 
 

Repository files navigation


Logo

Softtech Spring Bootcamp Guraduation Project

More about bootcamp »

Project Requirements · Project Prapration Doc · View Demo

Table of contents

About The Graduation Project

This is a graduation project for Softtech Spring Bootcamp. The Graduation Project was given at the end of the 5th week in this bootcamp. It is a project that'll ensures that the subjects we learned during this bootcamp are reinforced with the technologies used by the sponsor company Softtech. softtech .

Project Requirements

The requirements for this project is here in Turkish

Project Prepration Documents

The Project Prepration Documents in Turkish

(Table of Contents)

Project Structure

Databse, Tables and columns

I used PostgreSQL for the Databse of this project and here is the tables and columns: DababaseStructure

Demo

Project Demo link

Screenshots of the user interface:

01

Show more

02

03

04

05

06

07

Swagger Documentation

Swagger-UI link

Screenshots for swagger file

08

Show more

08

09

Technologies

Tools:

(Table of Contents)

Dependencies

I used Maven as a dependency management framework. Here is how I configured the pom.xml file:

Show more
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.4</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>dev.ahmed</groupId>
  <artifactId>graduationproject</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>graduationproject</name>
  <description>graduationproject</description>
  <properties>
    <java.version>17</java.version>
    <org.mapstruct.version>1.4.2.Final</org.mapstruct.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-hateoas</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <scope>runtime</scope>
    </dependency>

    <dependency>
      <groupId>org.mapstruct</groupId>
      <artifactId>mapstruct</artifactId>
      <version>${org.mapstruct.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mapstruct</groupId>
      <artifactId>mapstruct-processor</artifactId>
      <version>${org.mapstruct.version}</version>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-ui</artifactId>
      <version>1.5.13</version>
    </dependency>

    <!--        <dependency>-->
    <!--            <groupId>org.thymeleaf</groupId>-->
    <!--            <artifactId>thymeleaf-spring5</artifactId>-->
    <!--        </dependency>-->
    <!--        <dependency>-->
    <!--            <groupId>org.webjars</groupId>-->
    <!--            <artifactId>bootstrap</artifactId>-->
    <!--            <version>4.3.1</version>-->
    <!--        </dependency>-->
    <dependency>
      <groupId>org.webjars</groupId>
      <artifactId>webjars-locator-core</artifactId>
    </dependency>

    <!--        <dependency>-->
    <!--            <groupId>org.springframework.boot</groupId>-->
    <!--            <artifactId>spring-boot-starter-security</artifactId>-->
    <!--        </dependency>-->
    <!--        <dependency>-->
    <!--            <groupId>io.jsonwebtoken</groupId>-->
    <!--            <artifactId>jjwt</artifactId>-->
    <!--            <version>0.9.1</version>-->
    <!--        </dependency>-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
            </exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

(Table of Contents)

File Structure

Show more
tree /f
Graduation Project
│  BitirmeProjesiHazirlikDokumani.pdf
│  BitirmeProjesiTalepleri.md
│  README.md
└─graduationproject
    │  .gitignore
    │  graduationproject.iml
    │  HELP.md
    │  mvnw
    │  mvnw.cmd
    │  pom.xml
    │
    ├─.mvn
    │  └─wrapper
    │          maven-wrapper.jar
    │          maven-wrapper.properties
    │
    ├─src
    │  ├─main
    │  │  ├─java
    │  │  │  └─dev
    │  │  │      └─ahmed
    │  │  │          └─graduationproject
    │  │  │              │  GraduationprojectApplication.java
    │  │  │              │
    │  │  │              ├─app
    │  │  │              │  ├─configs
    │  │  │              │  │      AppMvcConfig.java
    │  │  │              │  │
    │  │  │              │  ├─controller
    │  │  │              │  │  │  CategoryController.java
    │  │  │              │  │  │  ProductController.java
    │  │  │              │  │  │  UserController.java
    │  │  │              │  │  │
    │  │  │              │  │  └─frontendcontroller
    │  │  │              │  │          IndexController.java
    │  │  │              │  │          TableController.java
    │  │  │              │  │
    │  │  │              │  ├─converter
    │  │  │              │  │      CategoryDetailsMapper.java
    │  │  │              │  │      UserMapper.java
    │  │  │              │  │
    │  │  │              │  ├─dao
    │  │  │              │  │      CategoryDao.java
    │  │  │              │  │      ProductDao.java
    │  │  │              │  │      UserDao.java
    │  │  │              │  │
    │  │  │              │  ├─dto
    │  │  │              │  │      CategoryDto.java
    │  │  │              │  │      CategoryFindAllDetailsDto.java
    │  │  │              │  │      CategoryUpdateKdvDto.java
    │  │  │              │  │      ProductDto.java
    │  │  │              │  │      ProductSaveRequestDto.java
    │  │  │              │  │      ProductUpdatePriceDto.java
    │  │  │              │  │      UserDto.java
    │  │  │              │  │      UserLoginDto.java
    │  │  │              │  │      UserResponseDto.java
    │  │  │              │  │      UserSaveRequestDto.java
    │  │  │              │  │      UserUpdateRequestDto.java
    │  │  │              │  │
    │  │  │              │  ├─entity
    │  │  │              │  │      Category.java
    │  │  │              │  │      Product.java
    │  │  │              │  │      User.java
    │  │  │              │  │
    │  │  │              │  ├─enums
    │  │  │              │  ├─exception
    │  │  │              │  │      CategoryAlreadyExistsException.java
    │  │  │              │  │      CategoryNotFoundException.java
    │  │  │              │  │      ProductAlreadyExistsException.java
    │  │  │              │  │      ProductNotFoundException.java
    │  │  │              │  │      UserAlreadyExistsException.java
    │  │  │              │  │      UserNotFoundException.java
    │  │  │              │  │
    │  │  │              │  ├─service
    │  │  │              │  │  │  Service.java
    │  │  │              │  │  │
    │  │  │              │  │  └─entityservice
    │  │  │              │  │          CategoryEntityService.java
    │  │  │              │  │          ProductEntityService.java
    │  │  │              │  │          UserEntityService.java
    │  │  │              │  │
    │  │  │              │  └─util
    │  │  │              └─gen
    │  │  │                  ├─dto
    │  │  │                  │      RestResponse.java
    │  │  │                  │
    │  │  │                  ├─entity
    │  │  │                  │      BaseAdditionalFields.java
    │  │  │                  │      BaseEntity.java
    │  │  │                  │      BaseModel.java
    │  │  │                  │
    │  │  │                  ├─enums
    │  │  │                  │      BaseErrorMessage.java
    │  │  │                  │      GenErrorMessage.java
    │  │  │                  │      GenStatusType.java
    │  │  │                  │
    │  │  │                  ├─exception
    │  │  │                  │      GenCustomizedResponseEntityExceptionHandler.java
    │  │  │                  │      GenExceptionResponse.java
    │  │  │                  │
    │  │  │                  ├─exceptions
    │  │  │                  │      GenBusinessException.java
    │  │  │                  │      ItemNotFoundException.java
    │  │  │                  │
    │  │  │                  ├─service
    │  │  │                  │      BaseEntityService.java
    │  │  │                  │
    │  │  │                  └─util
    │  │  │                          DateUtil.java
    │  │  │
    │  │  └─resources
    │  │      │  application.properties
    │  │      │  banner.txt
    │  │      │
    │  │      ├─static
    │  │      │  ├─css
    │  │      │  │      app.css
    │  │      │  │      app.css.map
    │  │      │  │      style.css
    │  │      │  │
    │  │      │  ├─img
    │  │      │  │  │  ProjectStructure.jpg
    │  │      │  │  │  softtech_logo-1.png
    │  │      │  │  │  softtech_logo.png
    │  │      │  │  │
    │  │      │  │  ├─avatars
    │  │      │  │  │      avatar.jpg
    │  │      │  │  │
    │  │      │  │  └─icons
    │  │      │  │          icon-48x48.png
    │  │      │  │
    │  │      │  └─js
    │  │      │          app.js
    │  │      │          app.js.LICENSE.txt
    │  │      │          app.js.map
    │  │      │
    │  │      └─templates
    │  │          │  404.html
    │  │          │  addcategory.html
    │  │          │  addproduct.html
    │  │          │  categories.html
    │  │          │  details.html
    │  │          │  edituser.html
    │  │          │  login.html
    │  │          │  main.html
    │  │          │  signup.html
    │  │          │  updateproduct.html
    │  │          │  updateuser.html
    │  │          │
    │  │          └─table
    │  └─test
    │      └─java
    │          └─dev
    │              └─ahmed
    │                  └─graduationproject
    │                      │  GraduationprojectApplicationTests.java
    │                      │
    │                      └─app
    │                          ├─controller
    │                          │      CategoryControllerTest.java
    │                          │      ProductControllerTest.java
    │                          │      UserControllerTest.java
    │                          │
    │                          └─service
    │                              └─entityservice
    │                                      CategoryEntityServiceTest.java
    │                                      ProductEntityServiceTest.java
    │                                      UserEntityServiceTest.java
    │
    └─target
        │  graduationproject-0.0.1-SNAPSHOT.jar
        │  graduationproject-0.0.1-SNAPSHOT.jar.original

(Table of Contents)

Reference

These are the links of readings and video turorials I used when I work on this project.

Articles

Videos

(Table of Contents)

Thank you all

To Patika

Many thanks to the team of patika who organized this bootcamp. I believe they are now doing very god job for Turkey's technological development. Thank You for your efforts!👏🏻

To Softtech

Special thanks to softtech for sponsorship. I hope you will succeed in your business🎯 to become the biggest IT company in Turkey.

To Teacher

I would like to express my respect and appreciation to our teacher, Sadık Bahadır Memiş, who trained us with his valuable experience and help us to learn this wonderful technology Spring. 👏🏻

To Attendees

Thank you everyone for participating. It was a pleasure to be in the same bootcamp with you. I wish you success in your life!💪 I hope there will be a chance to continue our career together in the same development team.☕️

(Table of Contents)

Contact me

I wish we will keep in touch with each other later.
You can find me there:
linkedin github hackerrank stackoverflow

(Table of Contents)

About

bitirmeprojesi-UyCoder created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 67.4%
  • HTML 18.1%
  • Java 14.5%