Tisane is the official website for the AGH IT Future Day event. It is built with modern web technologies to provide a fast, responsive, and visually appealing experience.
The project is currently in active development, with plans to evolve into a fully custom Content Management System (CMS) to manage event content dynamically.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4
- UI Components: Radix UI, Lucide React
- Animations: GSAP, tw-animate-css
- Database (Planned): PostgreSQL with Drizzle ORM
- Modern Landing Page: A high-performance, responsive landing page for the event.
- Component-Based Architecture: Modular design using React Server Components.
- Interactive Animations: Smooth transitions and effects using GSAP.
- Dark/Light Mode: Built-in theme support.
We are building a bespoke CMS to manage the site's content. This will allow for:
- Dynamic Page Building: A block-based editor for creating custom layouts.
- Role-Based Access Control: Secure admin dashboard for editors and admins.
- Media Management: Centralized library for images and assets.
- Theming Engine: No-code customization of site colors and fonts.
See roadmap.md for the detailed development plan.
- Node.js (v18 or later recommended)
- npm, yarn, pnpm, or bun
-
Clone the repository:
git clone https://github.com/dkomeza/tisane.git cd tisane -
Install dependencies:
npm install
Start the development server:
npm run devOpen http://localhost:3000 with your browser to see the result.
To create a production build:
npm run build
npm startapp/: Next.js App Router pages and layouts.app/sections/: Modular components for the landing page sections.components/: Reusable UI components (buttons, inputs, etc.).scripts/: Utility scripts, including theroadmap_manager.pyfor syncing the roadmap with GitHub Issues.public/: Static assets.
To add a new CMS component, use the provided Handlebars template located at templates/CMSComponent.hbs. This template ensures that all necessary parts of the component (client, admin, preview) are created consistently.
npm run generateThis command will prompt you for the component name, category and generate the required files in the appropriate directories. It will also update the component registry automatically.