https://github.com/fatiq123/full-stack-shoe-app
A full-stack e-commerce application for buying and selling shoes, featuring user authentication, product management, shopping cart functionality, and order processing.
https://github.com/fatiq123/full-stack-shoe-app
axios context-api javascript jpa-hibernate jwt-authentication postgresql reactjs reactrouter spring-boot springsecurity-jwt sql tailwindcss
Last synced: 2 months ago
JSON representation
A full-stack e-commerce application for buying and selling shoes, featuring user authentication, product management, shopping cart functionality, and order processing.
- Host: GitHub
- URL: https://github.com/fatiq123/full-stack-shoe-app
- Owner: fatiq123
- Created: 2025-04-11T18:15:30.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-13T16:49:19.000Z (about 1 year ago)
- Last Synced: 2025-05-07T19:14:03.881Z (about 1 year ago)
- Topics: axios, context-api, javascript, jpa-hibernate, jwt-authentication, postgresql, reactjs, reactrouter, spring-boot, springsecurity-jwt, sql, tailwindcss
- Language: Java
- Homepage:
- Size: 265 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Shoe E-Commerce Application
A full-stack e-commerce application for buying and selling shoes, featuring user authentication, product management, shopping cart functionality, and order processing.

## 🚀 Features
### User Features
- **User Authentication**: Secure signup and login functionality
- **Product Browsing**: Browse through a catalog of shoes with filtering options
- **Shopping Cart**: Add/remove items, update quantities
- **Checkout Process**: Complete purchases with shipping and payment details
- **Order History**: View past orders and their status
- **User Profile**: Manage personal information and preferences
### Admin Features
- **Product Management**: Add, edit, and remove shoe listings
- **Inventory Management**: Track stock levels and update availability
- **Order Management**: Process orders and update order status
- **User Management**: View and manage user accounts
## 🛠️ Tech Stack
### Backend
- **Java Spring Boot**: RESTful API development
- **Spring Security**: Authentication and authorization
- **JPA/Hibernate**: Database ORM
- **MySQL**: Relational database
- **JWT**: Token-based authentication
### Frontend
- **React**: UI component library
- **Tailwind CSS**: Styling and responsive design
- **React Router**: Navigation and routing
- **Context API**: State management
- **Axios**: API requests
## 📋 Prerequisites
- Java 11 or higher
- Node.js 14 or higher
- MySQL 8.0 or higher
- Maven
## 🔧 Installation & Setup
### Backend Setup
1. Clone the repository:
```bash
git clone https://github.com/yourusername/shoe-app.git
cd shoe-app
```
2. Configure the database in `application.properties`:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/shoeapp
spring.datasource.username=your_username
spring.datasource.password=your_password
```
3. Build and run the Spring Boot application:
```bash
cd shoe-app
mvn spring-boot:run
```
### Frontend Setup
1. Navigate to the frontend directory:
```bash
cd shoe-app-frontend
```
2. Install dependencies:
```bash
npm install
```
3. Start the development server:
```bash
npm start
```
4. Access the application at `http://localhost:3000`
### Data Upload
The project includes a data upload utility to populate the database with initial shoe data:
1. Navigate to the data upload directory:
```bash
cd shoe-data-upload
```
2. Follow the instructions in `upload_instructions.md` to upload sample shoe data and images
## 📱 Usage
### Customer Journey
1. Create an account or log in
2. Browse the shoe catalog
3. Filter shoes by category, price, or size
4. View detailed information about a specific shoe
5. Add shoes to your shopping cart
6. Proceed to checkout
7. Enter shipping and payment information
8. Complete your purchase
9. View order history and status
### Admin Journey
1. Log in with admin credentials
2. Access the admin dashboard
3. Manage shoe inventory (add, edit, delete)
4. Process and update orders
5. Manage user accounts
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## 📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
## 📞 Contact
Your Name - [Fatiq Hussnain](mailto:fatiqhussnain1@gmail.com)
Project Link: [https://github.com/fatiq123/full-stack-shoe-app](https://github.com/fatiq123/full-stack-shoe-app)