This repository contains engineering guides, architecture patterns, tooling references, and starter demos prepared by UTDesign EPICS students, mentors, and staff members.
For all students working on CS/web projects, start with Taz's Getting Started Videos. Watching these videos counts as one of your required workshops for the semester.
Core topics covered:
- Git: Command-line version control and workflows
- GitHub: Pull requests, branching, and collaboration
- Bash / CLI: Navigating and executing tasks in the terminal
- Clients, Servers, and Databases: Full-stack architecture fundamentals
- Browser Developer Tools: Inspecting DOM, network requests, and debugging
These guides cover fundamental system design and architectural concepts for building scalable, maintainable full-stack applications:
- Databases: Relational vs. non-relational databases, SQL schema design, normalization, and Prisma ORM.
- Data Flow in Applications: Request/response lifecycle, HTTP methods, Fetch API in Vue/Nuxt, and Server-Side Rendering (SSR).
- Frontend vs Backend Routing: Differences between client-side SPA routing and server API routes, redirects, and navigation.
- Component-Based Design: Building modular user interfaces with Vue Single File Components (SFCs), props, and custom events.
- State Management: Managing component-level state and reusable stateful logic with Vue Composables and global application state with Pinia.
- Authentication and Better Auth: Password hashing (Argon2/scrypt), session cookies, JWTs, and end-to-end authentication setup using Better Auth, Nuxt, and Prisma.
- Users, Roles, and Permissions: Modeling user accounts, role-based access control (RBAC), multi-tenant/store relationships, and granular permissions with Better Auth and Prisma.
- Tech Stack Recommendations: Approved frameworks, databases, and deployment options for EPICS projects (Nuxt/Vue, SQLite, Prisma, Docker).
- End of Semester Checklist: Deliverable requirements, project repository handoff checklist, and documentation criteria.
- Code Review & Quality Guide: Expectations for code quality, project structure, framework conventions, Prisma usage, and dependency management.
- General Policies & Recommendations: Codebase rules, environment variable management, and team best practices.
- Student Onboarding Timeline: Week-by-week onboarding milestones for new team members.
- Recommended VS Code Extensions: Recommended editor tooling and extensions for Vue, Prisma, Tailwind, and TypeScript.
- Example Project README: Reference template for project README files.
- Documentation Tools: Markdown syntax, Mermaid diagram syntax, and UML class diagram tutorials.
- Git Tutorials: Interactive tutorials for learning Git branching and official Git guides.
- Web Development Video Playlist: Curated video playlist covering essential web development concepts.
Interactive example projects included in this repository:
- Nuxt 4 Full-Stack Demo: Full-stack application combining frontend and backend into Nuxt 4 with Nuxt UI, Tailwind CSS, SQLite, Drizzle ORM, page layouts, and dedicated editing routes.
- Vue 3 SPA Demo: Single Page Application built with Vue 3, Vite, Pinia, Vue Router, and TypeScript.
- Nitro & Drizzle ORM Server Demo: Standalone backend server demonstration built with Nitro, Drizzle ORM, and SQLite.
- HTML / CSS / JavaScript Demo: Foundational client-side demonstration without frameworks.