ShoppeStore is a full-stack e-commerce application built with SwiftUI for the frontend and Golang for the backend. The app enables users to manage orders, cart, and wishlist with AI-powered product recommendations and secure authentication.
- Order, Cart, and Wishlist Management: Users can seamlessly add, update, and manage their orders, cart, and wishlist.
- AI-Powered Recommendations: Integrated MobileNetV2 to provide smart product suggestions based on user preferences.
- Secure Authentication: Implemented robust authentication to protect user data and ensure privacy.
- SwiftUI & Golang Integration: Leveraged SwiftUI for a modern UI and Golang for a scalable and efficient backend.
- Frontend: SwiftUI
- Backend: Golang (Gin framework)
- AI Integration: MobileNetV2
- Storage & Database: S3, RDS, Dockerized SQL Server
- Documentation: Swagger
- Docker and Docker Compose
- Go 1.23 or higher
To start both the database and the application in one go:
cd backEnd
./start.shThis script will:
- Start the SQL Server container using Docker Compose
- Wait for the database to initialize
- Start the Go application
If you want to start only the database:
cd backEnd
docker-compose up -dThis will start the SQL Server container in detached mode. The database will be initialized with the required tables and sample product data.
If the database is already running and you only want to start the application:
cd backEnd
go run main.goSwagger UI is available at: http://localhost:8080/swagger/index.html when the application is running.
The database is automatically created and initialized with tables and sample data when you start the Docker container. The initialization script is located at backEnd/sql/init.sql.
Environment variables are stored in the .env file. The following variables are used:
DB_SERVER: SQL Server hostname or IPDB_USER: SQL Server usernameDB_PASSWORD: SQL Server passwordDB_PORT: SQL Server portDB_NAME: Database nameDB_ENCRYPT: Whether to use encryption for SQL Server connection
S3_REGION: AWS S3 regionACCESS_KEY_ID: AWS access key IDS3_BUCKET: AWS S3 bucket nameSECRET_KEY: AWS secret key