Toko Tech is a full-stack e-commerce platform built with Next.js 14 and Express.js. It provides a modern shopping experience with comprehensive product management, secure checkout flows, and robust admin capabilities. The application uses a PostgreSQL database through Supabase for data storage and authentication services.
- Framework: Next.js 14 with App Router
- UI Libraries:
- Tailwind CSS for styling
- Headless UI for accessible components
- Framer Motion for animations
- State Management: Zustand
- Form Handling: React Hook Form with Zod validation
- API Communication:
- Axios for HTTP requests
- SWR for data fetching and caching
- Authentication: NextAuth.js with JWT
- Data Visualization: Chart.js
- Notification System: React Hot Toast
- Runtime: Node.js with Express.js
- Database: PostgreSQL via Supabase
- Authentication: JWT with role-based access control
- Security: CORS with customized configuration
- File Storage: Supabase Storage
- Email Service: Nodemailer
- File Upload: Multer middleware
- Validation: Joi and Zod schemas
- Logging: Winston logger
- Payment Processing: Midtrans integration
- Reporting: Excel generation with ExcelJS
- User Authentication
- Email/password registration
- JWT-based secure authentication
- Password reset functionality
- Product Browsing
- Advanced filtering and searching
- Category-based navigation
- Detailed product information
- Shopping Experience
- Shopping cart with persistence
- Wishlist functionality
- Order tracking and history
- Checkout Process
- Multiple payment methods through Midtrans
- Shipping options and calculations
- Order confirmation and receipt
- Dashboard
- Sales analytics and metrics
- Customer insights
- Inventory status
- Product Management
- Product creation and editing
- Inventory management
- Image upload and management
- Order Management
- Process and track orders
- Update order status
- Generate shipping information
- User Management
- Customer account administration
- Role-based access control
- User status management
- Reporting
- Revenue reports
- Excel export functionality
- Custom date range filtering
.
βββ Frontend # Frontend application
β βββ public # Public assets
β βββ src # Source files
β β βββ app # Next.js app directory
β β βββ components # Shared components
β β βββ lib # Library functions
β β βββ middleware # Middleware functions
β β βββ pages # Next.js pages
β β βββ styles # Global styles
β β βββ utils # Utility functions
β β βββ ...
β βββ .env.local # Local environment variables
β βββ ....
βββ Backend # Backend application
β βββ config # Configuration files
β βββ controllers # Request controllers
β βββ middleware # Middleware functions
β βββ models # Database models
β βββ routes # API routes
β βββ services # Business logic and services
β βββ uploads # File uploads
β βββ .env # Environment variables
β βββ server.js # Entry point for the backend
β βββ ...
βββ README.md # Project documentation
βββ package.json # Package configuration
βββ ...
This project is licensed under the MIT License. See the LICENSE file for details.
Thank you for checking out Toko Tech! We hope this documentation helps you understand and contribute to the project. For any questions or feedback, please reach out to the maintainers.
