Originally from Thailand, I moved to the U.S. to pursue higher education and personal growth. I graduated with a Bachelor's degree in Mathematics from the University of Northern Colorado, where I developed strong problem-solving and analytical skills. My journey then took me to serve in the U.S. Army as a Petroleum Laboratory Specialist, where I learned discipline, teamwork, and leadership.
After completing my service, I transitioned into the tech industry by graduating from the Java Full-Stack Developer Bootcamp at Skill Distillery. This rigorous program honed my expertise in web development, from building dynamic front-end interfaces to developing efficient back-end systems.
Frameworks: Spring, Spring Boot, Spring Data, Agile, Scrum
Configuration Management: Git
My Projects
Welcome to my portfolio. I have developed Java-based web applications that demonstrate my expertise in full-stack development. Utilizing Spring MVC, JDBC, JPA, and Hibernate, these projects encompass diverse functionality, from user authentication to database-driven features. Each project reflects my ability to implement robust back-end logic, intuitive front-end design, and efficient database integration, showcasing my skills in building dynamic, scalable, and user-friendly web applications.
Welcome to my GitHub repository! Here, you'll find a collection of projects that showcase my expertise in Java full-stack development. My repositories highlight a range of applications built using technologies like Spring MVC, Spring Boot, JPA, Hibernate, and JDBC. From dynamic web applications to RESTful services, these projects reflect my ability to create scalable, maintainable, and user-friendly software.
Feel free to explore my code, check out the project documentation, and reach out if you have any questions or feedback. I’m always open to collaboration and discussions about improving these projects!
The Eight-Thousanders CRUD Application is designed to perform simple Create, Read, Update, and Delete (CRUD) operations on a database of the world's 14 highest peaks, known as the eight-thousanders. This application allows users to view the list of peaks, view details of each mountain, edit mountain information, delete mountains, and add new peaks to the database.
Technologies Used
Java: Programming language used for the application.
Spring MVC: Framework for building web applications.
JPA (Java Persistence API): For mapping Java objects to database tables.
Hibernate: JPA implementation used for ORM (Object-Relational Mapping).
MySQL: Database management system for storing data.
Bootstrap: Front-end framework for styling the web pages.
SpringFit is a Java web application that demonstrates fundamental CRUD (Create, Read, Update, Delete) operations using JPA and Spring MVC, along with user athentication and session tracking.
Using JPA and Spring MVC, SpringFit allows a user to create an account, log in, build personalized workouts, and interact with the community by liking and commenting on their workouts. Users can also log their weight and basic nutritional data, and view a list of those logs.
TrackMyJob is a web application designed to help users track thier job applications effiecielntly. The application allows users to create, update, delete, and view thier job applications, as well as manage different statuses and onsite/remote options. Built using Spring Boot and Spring Data JPA, TrackMyJob levereages RESTful services to provide a seamless user experience.
Technologies Used:
Java: Programming language used for the application.
Spring Boot: Framework for building the application and REST APIs.
Spring Data JPA: Used for ORM and database operations.
Hibernate: ORM implementation used by Spring Data JPA.
MySQL: Database management system to store application data.
JSON: Data format for sending and receiving data through REST APIs.
Key Features
Job Listing: Displays a list of all job applications, including position, company, status, and other relevant details.
Job CRUD Operations:
Create new job entries using a form with fields such as Position, Company, Status, and Description.
Edit existing jobs to update their details.
Delete job entries.
Status Selection: Users can select the job status from predefined options such as "Not applied yet", "Applied", "Interviewed", "Offered", and "Rejected".
Onsite/Remote Option: Users can specify whether the job is Onsite, Remote, or Hybrid.
This full-stack Java project is the culmination of our learning, integrating everything we've studied into one cohesive application. The project is designed to provide authenticated and non-authenticated views, offer full C.R.U.D. (Create, Read, Update, Delete) functionality, and include a multi-level privilege system for managing user-generated data. The front-end uses Angular, while the back-end is a Java-based RESTful API connected to a MySQL database.
This project is a collaborative effort where group members contributed to various aspects of the application, including database design, backend logic, security, and front-end development. It showcases a wide range of skills, from database schema design to front-end state management.
Technologies Used:
Frontend: Angular JavaScript
Backend: Java, Spring Boot (RESTful API)
Database: MySQL
ORM: JPA (Java Persistence API)
Security: Spring Security with BCrypt password hashing for user authentication
Version Control: Git and GitHub for collaboration
Dependency Management: Gradle
Testing: JUnit for unit testing the back-end
Development Environment: Spring Tool Suite (STS), Visual Studio Code (VS Code) for Angular development
External Tools: Postman for API testing, MySQL Workbench for database modeling and management
Key Features
User Authentication: The project includes both authenticated and non-authenticated views. Users must log in to access protected routes and perform C.R.U.D. operations.
C.R.U.D. Operations: The application allows users to create, read, update, and delete their own data. Privileged users can manage global data.
Role-based Access: Two levels of user roles—basic and privileged—determine the data manipulation capabilities within the application.
Security: Spring Security and BCrypt provide robust password encryption and user authentication.