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.
- β‘ 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
- Quick Start
- Project Structure
- Performance Optimizations
- Development
- Building
- Contributing
- Tech Stack
- License
- Node.js 24.x or higher
- npm 10.x or higher
# 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 devThe application will open at http://localhost:5173
# 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# Run ESLint
npm run lint
# Fix issues automatically
npm run lint:fixThe project uses:
- ESLint - Code quality and consistency
- Prettier - Code formatting (via ESLint)
- TypeScript - Type safety
- Husky - Git hooks for pre-commit checks
npm run preview- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- React 19.2 - UI library
- React Router 7.12 - Client-side routing
- TypeScript 5.9 - Type safety
- Vite 7.2 - Lightning-fast build tool
- SWC - Ultra-fast TypeScript compiler
- Tailwind CSS 3.4 - Utility-first CSS
- Framer Motion 12.26 - Smooth animations
- Lucide React 0.562 - Beautiful icons
- React Markdown 10.1 - Markdown rendering
- ESLint 9.39 - Code linting
- TypeScript ESLint 8.46 - TypeScript linting
- Husky 8.0 - Git hooks
- Autoprefixer 10.4 - CSS vendor prefixes
- Vite Plugin Sitemap 0.8 - Automatic sitemap generation
- PostCSS 8.5 - CSS transformations
npm run build
# Deploy dist/ folder to GitHub PagesFROM node:24-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "run", "preview"]npm run build
# Serve dist/ folder with any static server
npx serve dist/- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 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
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
- NCIT - Hosting the Computer Engineering program
- All contributors and team members
- Website: https://citc.ncit.edu.np
- GitHub: https://github.com/CITC-Club/CITC-Frontend
- Email: citc@ncit.edu.np
Made with β€οΈ by CITC Club
Innovate β’ Connect β’ Transform