A comprehensive website for the urFIT research group, built with modern web technologies to provide a single source of truth for all research group content.
This website serves as the central hub for our research group, providing:
- 👥 Team and collaborator profiles
- 💰 Funding of the research group
- 🧮 Interactive calculators and tools
- 📚 Research publications and materials
- 📊 Infographics and visual content
- 🎥 Videos and podcasts
- 📰 Press releases and news
- 📜 Academic theses
- Home (
/
) - Overview and latest updates - Non-Academic (
/non-academic
) - Content for non-academic audiences - Waist-Height Calculator (
/waist-height-calculator
) - Interactive health assessment tool
- Publications (
/materials/publications
) - Research papers and articles - Videos & Podcasts (
/materials/videos-and-podcasts
) - Multimedia content - Press Releases (
/materials/press-releases
) - News and announcements - Infographics (
/materials/infografics
) - Visual data representations - Theses (
/materials/thesis
) - Academic theses and dissertations
- Principal Investigator (
/people/principal-investigator
) - Research group leader - Team (
/people/team
) - Research group members - Collaborators (
/people/collaborators
) - External collaborators - Funders (
/people/funders
) - Funding organizations
- Privacy Policy (
/privacy
) - Terms of Service (
/terms
)
- Astro - Static Site Generator
- React - UI Components
- TypeScript - Type Safety
- Tailwind CSS - Styling
- Bun - JavaScript Runtime & Package Manager
- Bun (latest version)
- Node.js (v18 or higher)
- Cloudflare account (for email subscriptions)
- Cloudflare Workers CLI (wrangler) (for email subscriptions)
# Clone the repository
git clone [repository-url]
# Install dependencies
bun install
# Start development server
bun run dev
# Create production build
bun run build
# Preview production build
bun run preview
src/
├── assets/ # Static assets (images, styles)
├── components/ # Shared Astro components
├── content/ # Blog related content
├── data/ # Data for different pages
├── layouts/ # Shared layout components
├── pages/ # Route pages
├── utils/ # Helper functions
├── config/ # Shared configuration
├── navigation/ # Navigation of the website
└── types.d.ts # TypeScript definitions
workers/
└── subscribe/ # Cloudflare Worker for email subscriptions
- Functional and declarative programming patterns
- TypeScript for type safety
- Tailwind CSS for styling
- Component-based architecture
The project includes a Cloudflare Worker that handles email subscriptions:
- Located in
workers/subscribe/
- Processes newsletter sign-ups
- Sends confirmation emails with custom templates
- Manages subscription status
bun run dev
- Start development serverbun run build
- Build for productionbun run preview
- Preview production buildbun run lint
- Lint codebun run format
- Format code
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Research group members and collaborators
- Funding organizations
- Open source community