SmartCaf (Ψ§Ψ³Ω Ψ§Ψ±Ψͺ Ϊ©Ω) is a comprehensive Software Engineering I project at Isfahan University of Technology (IUT) for a modern smart cafeteria reservation system. The repository includes both the full software engineering documentation (analysis & design artifacts) and a working Next.js web frontend that demonstrates the system.
- Design an innovative solution for university cafeteria reservation management
- Apply software engineering principles and methodologies
- Create comprehensive documentation following industry standards
- Develop detailed requirements specifications and process models
- Build a functional frontend prototype demonstrating the designed system
- Demonstrate proficiency in software analysis, design, and implementation
The SmartCaf system is designed to streamline university cafeteria operations with:
- Smart Reservation System: Browse meals by type (breakfast/lunch/dinner) with a Farsi calendar and reserve food
- AI-Powered Suggestions: Intelligent meal recommendations based on user preferences and history
- Order History & Reviews: Track past orders, rate meals, and leave comments
- Inventory Management: Automated stock tracking and low-stock alerts (admin)
- Payment & Wallet: Digital wallet top-up and payment management
- Analytics Dashboard: Insights into sales, popular items, and daily statistics (admin)
- User Management: Separate interfaces for students and administrators
- Help & Support: FAQ system with searchable error codes and ticket-based support
- Full RTL/Persian UI: Complete Farsi interface with Jalali calendar and Vazirmatn font
- Dark Mode: System-wide light/dark theme toggle
SmartCaf-Software-Project/
βββ docs/ # Software Engineering documentation
β βββ activity-diagram/ # UML Activity Diagrams
β βββ class-diagram/ # UML Class Diagrams
β βββ communication-diagram/ # UML Communication Diagrams
β βββ package-diagram/ # UML Package Diagrams
β βββ process-model/ # Business process models
β βββ proposal/ # Project proposal & feasibility
β βββ requirements/ # SRS (functional & non-functional)
β βββ sequence-diagram/ # UML Sequence Diagrams
β βββ state-diagram/ # UML State Diagrams
β βββ use-case-description/ # Detailed use case descriptions
β βββ use-case-diagram/ # UML Use Case Diagrams
β βββ user-story/ # Agile user stories
β βββ windows-navigation-diagram/ # UI flow & screen transitions
β
βββ src/ # Next.js frontend application
β βββ public/ # Static assets
β βββ src/
β βββ app/ # App Router pages
β β βββ login/ # Login + forgot password
β β βββ admin/ # Admin panel (6 sub-pages)
β β βββ student/ # Student panel (6 sub-pages)
β βββ components/ # Reusable UI components (shadcn/ui)
β βββ hooks/ # Custom React hooks
β βββ lib/ # Mock data & utilities
β
βββ LICENSE
βββ README.md
The docs/ folder contains a complete set of Software Engineering artifacts. Each document follows standard UML conventions.
| Artifact | Description |
|---|---|
| Activity Diagrams | Flow of activities: ordering, payment, inventory |
| Class Diagrams | Static structure: classes, attributes, relationships |
| Communication Diagrams | Object interactions & message exchanges |
| Package Diagrams | Logical grouping & dependencies between packages |
| Process Models | High-level & detailed operational workflows |
| Proposal | Problem statement, scope, feasibility |
| Requirements (SRS) | Functional & non-functional requirements |
| Sequence Diagrams | Time-ordered interactions for key scenarios |
| State Diagrams | Lifecycle & state transitions of entities |
| Use Case Descriptions | Structured textual descriptions of behavior |
| Use Case Diagrams | System boundaries, actors, interactions |
| User Stories | Agile user stories for all roles |
| Windows Navigation Diagrams | UI flow & screen transitions for user interfaces |
The src/ folder contains a fully functional Next.js 16 frontend prototype. See src/README.md for detailed setup instructions, tech stack, and project structure.
cd src
bun install
bun devOpen http://localhost:3000 β login with admin/admin (admin panel) or any 5+ character username (student panel).
Next.js 16 Β· React 19 Β· TypeScript Β· Tailwind CSS 4 Β· shadcn/ui Β· Recharts Β· react-day-picker (Farsi) Β· Vazirmatn font Β· Sonner Β· next-themes
This project is intended for academic use in the Software Engineering I course and demonstrates:
- Application of UML and modeling techniques
- Requirement analysis and documentation skills
- Structured system design thinking
- End-to-end implementation from design to prototype
- Modern web development with Next.js and React
- Team-based software engineering practices
The project is a collaborative effort by the following team members:
We welcome any contributions you may have. If you're interested in helping out, fork the repository and create an Issue or PR.
This project is licensed under the MIT License. See the LICENSE file for details.
