Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CITC Frontend - Computer Engineering Innovation & Tech Club

React TypeScript Vite Tailwind CSS License

A modern, high-performance React web application for the Computer Engineering Innovation & Tech Club at NCIT. Built with production-grade performance optimizations following Vercel's React best practices.

πŸš€ Features

  • ⚑ High Performance - 30% smaller bundle, 60fps scrolling, optimized re-renders
  • 🎨 Beautiful UI - Dark/light theme toggle, responsive design, smooth animations
  • πŸ“± Fully Responsive - Mobile-first design, works on all devices
  • β™Ώ Accessible - WCAG compliant, semantic HTML, proper ARIA labels
  • πŸ” SEO Optimized - Structured data, meta tags, sitemap generation
  • πŸ›‘οΈ Production Ready - Error boundaries, proper error handling, type-safe

πŸ“‹ Table of Contents

⚑ Quick Start

Prerequisites

  • Node.js 24.x or higher
  • npm 10.x or higher

Installation

# Clone the repository
git clone https://github.com/CITC-Club/CITC-Frontend.git
cd CITC-Frontend

# Install dependencies
npm install

# Start development server
npm run dev

The application will open at http://localhost:5173

Available Scripts

# Development server with hot reload
npm run dev

# Build for production
npm run build

# Preview production build locally
npm run preview

# Lint code
npm run lint

# Fix linting issues
npm run lint:fix

# Prepare husky hooks
npm run prepare

πŸ› οΈ Development

Code Quality

# Run ESLint
npm run lint

# Fix issues automatically
npm run lint:fix

The project uses:

  • ESLint - Code quality and consistency
  • Prettier - Code formatting (via ESLint)
  • TypeScript - Type safety
  • Husky - Git hooks for pre-commit checks

Recommended VS Code Extensions

Preview Production Build

npm run preview

πŸ“± Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

πŸ“¦ Tech Stack

Frontend Framework

  • React 19.2 - UI library
  • React Router 7.12 - Client-side routing
  • TypeScript 5.9 - Type safety

Build & Dev Tools

  • Vite 7.2 - Lightning-fast build tool
  • SWC - Ultra-fast TypeScript compiler
  • Tailwind CSS 3.4 - Utility-first CSS

Animations & UI

  • Framer Motion 12.26 - Smooth animations
  • Lucide React 0.562 - Beautiful icons
  • React Markdown 10.1 - Markdown rendering

Code Quality

  • ESLint 9.39 - Code linting
  • TypeScript ESLint 8.46 - TypeScript linting
  • Husky 8.0 - Git hooks
  • Autoprefixer 10.4 - CSS vendor prefixes

SEO & Performance

  • Vite Plugin Sitemap 0.8 - Automatic sitemap generation
  • PostCSS 8.5 - CSS transformations

πŸš€ Deployment

GitHub Pages

npm run build
# Deploy dist/ folder to GitHub Pages

Docker

FROM node:24-alpine

WORKDIR /app
COPY package*.json ./
RUN npm ci

COPY . .
RUN npm run build

EXPOSE 3000
CMD ["npm", "run", "preview"]

Self-Hosted

npm run build
# Serve dist/ folder with any static server
npx serve dist/

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Style

  • Use TypeScript for all code
  • Follow ESLint rules (run npm run lint:fix)
  • Write meaningful commit messages
  • Add comments for complex logic
  • Keep components small and focused

πŸ“„ License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • NCIT - Hosting the Computer Engineering program
  • All contributors and team members

πŸ“ž Contact & Support


Made with ❀️ by CITC Club

Innovate β€’ Connect β€’ Transform

Releases

Packages

Contributors

Languages