How achyutak41/crochet-oasis works
Crochet Oasis is a handmade-products storefront with customer accounts, cart-based order requests and an admin area for managing products and order statuses. The main flow is product browsing, cart review, customer details and order submission; payment is handled manually rather than through an indicated payment integration. The frontend contexts connect product and order workflows to Flask routes, which use SQLAlchemy models and SQLite. Admin and authentication capabilities are represented from the route structure and sampled backend code; unsampled page behavior and wiring are not assumed.
Main entry points: App.jsx App routing · order_routes.py Order routes · product_routes.py Product routes · app.py Flask application
Components 24
Storefront
- App routing
frontend/src/App.jsx - Product browsing
frontend/src/pages/Products.jsx - Product state
frontend/src/context/ProductContext.jsx - Account pages
frontend/src/pages/Login.jsx - Auth state
frontend/src/context/AuthContext.jsx
Customer Flow
- Cart
frontend/src/pages/Cart.jsx - Cart state
frontend/src/context/CartContext.jsx - Order request
frontend/src/pages/OrderRequest.jsx - Order state
frontend/src/context/OrderContext.jsx - Order history
frontend/src/pages/MyOrders.jsx
Administration
- Admin pages
frontend/src/pages/admin/AdminDashboard.jsx - Product management
frontend/src/pages/admin/AdminProducts.jsx - Order management
frontend/src/pages/admin/AdminOrders.jsx - Admin access
frontend/src/context/AdminAuthContext.jsx
Backend API
- Flask application
backend/app.py - Authentication routes
backend/routes/auth_routes.py - Product routes
backend/routes/product_routes.py - Order routes
backend/routes/order_routes.py - User model
backend/models/user.py - Product model
backend/models/product.py - Order models
backend/models/order.py - SQLite database
backend/app.py
Other components
- Customer
- Admin
Connections 29
- Customer → App routing: uses
- Admin → App routing: uses
- App routing → Product browsing: routes to
- App routing → Cart: routes to
- App routing → Order request: routes to
- App routing → Account pages: routes to
- App routing → Order history: routes to
- App routing → Admin pages: routes to
- App routing → Product management: routes to
- App routing → Order management: routes to
- App routing → Product state: provides
- App routing → Cart state: provides
- App routing → Order state: provides
- App routing → Auth state: provides
- App routing → Admin access: provides
- Product state → Product routes: requests products
- Order state → Order routes: requests orders
- Order request → Order state: creates order
- Order request → Cart state: reads cart
- Flask application → Authentication routes: registers
- Flask application → Product routes: registers
- Flask application → Order routes: registers
- Authentication routes → User model: queries and updates
- Product routes → Product model: queries and updates
- Order routes → Product model: validates items
- Order routes → Order models: creates and updates
- Authentication routes → SQLite database: persists users
- Product routes → SQLite database: persists products
- Order routes → SQLite database: persists orders