A full-stack web-based e-commerce platform for buying and selling plant
seedlings.
Developed for CS 3332 -- Software Engineering, Troy University.
This application allows users to:
- Browse and search seedling products
- Add products to cart
- Place orders
- Receive confirmation emails
- Manage personal profile
- View transaction history
The system follows a Monolithic Three-Tier Architecture:
- Frontend: React.js
- Backend: Spring Boot (Java)
- Database: MySQL
- Java 21
- Spring Boot 3.x
- Spring Security + JWT
- Spring Data JPA
- JavaMailSender
- Maven
- React.js
- React Router
- Axios
- CSS
- MySQL 8
- Register (Email & Password)
- Login with JWT
- Google OAuth Login
- Refresh Token
- Logout
- View product list
- Search and filter by category/type
- View product details
- Add to cart
- Update quantity
- Remove items
- Clear cart
- Create order from cart
- Save Order, OrderItems, and Transaction
- Send confirmation email
- View user info
- Update personal details
- View past orders
- Filter by status
The application uses a Three-Tier Monolithic Architecture:
- Presentation Layer (React Frontend)
- Business Logic Layer (Spring Boot Backend)
- Data Layer (MySQL Database)
Make sure you have installed:
- Node.js (v16+)
- Java JDK 21+
- Maven 3.8+
- MySQL (via XAMPP recommended)
- Visual Studio Code
git clone https://github.com/DevFreshman/Group3.git
cd Group3- Start MySQL (XAMPP)
- Create a database (e.g.,
seedling_store) - Import SQL script from
/sqlfolder
cd backend
mvn clean install
mvn spring-boot:runBackend runs at:
http://localhost:8080
cd frontend
npm install
npm run devFrontend runs at:
http://localhost:5173
- Local deployment only
- No online payment integration
- No admin dashboard
- Limited input validation in some forms
- Deploy to AWS / Render / Railway
- Integrate Stripe / PayPal
- Add Admin Dashboard
- Implement Role-Based Access Control (RBAC)
- Improve UI responsiveness for mobile
- Spring Boot Documentation
- ReactJS Documentation
- JWT (Auth0)
- Postman
- GitHub
/frontend → React client
/backend → Spring Boot APIs
/sql → Database scripts
This project was developed for academic purposes (CS 3332 -- Software Engineering).