Boston College Computer Science Society
Empowering the next generation of technologists and innovators
The official website for the Boston College Computer Science Society (BCCSS). Built with modern web technologies and featuring a unique terminal-inspired design that reflects our tech-forward community.
- 🖥️ Terminal-themed UI with retro aesthetics
- ⚡ Lightning-fast performance with Vite
- 📱 Fully responsive mobile-first design
- 🎨 Smooth animations and interactive elements
- 🔗 Clean URLs with React Router
- 🎯 Epic 404 page with glitch effects
- ♿ Accessible and semantic HTML
- 🚀 Auto-deployment to GitHub Pages
Technology | Version | Purpose |
---|---|---|
React | 19.0.0 | UI Framework |
TypeScript | 5.7.2 | Type Safety |
Vite | 6.1.0 | Build Tool |
Tailwind CSS | 4.0.6 | Styling |
React Router | 6.22.3 | Client-side Routing |
Swiper | 11.2.5 | Image Carousel |
ESLint | 9.19.0 | Code Linting |
- Node.js (v18 or higher)
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/yourusername/bccss.git cd bccss
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser
http://localhost:5173
bccss/
├── 📁 public/ # Static assets
│ ├── 📁 events/ # Event photos
│ ├── 📁 board/ # Board member photos
│ ├── 404.html # GitHub Pages SPA support
│ └── CNAME # Custom domain config
├── 📁 src/
│ ├── 📁 assets/ # Images and media
│ ├── 📁 components/ # Reusable components
│ │ ├── Navbar.tsx
│ │ ├── Footer.tsx
│ │ └── ImageCarousel.tsx
│ ├── 📁 pages/ # Page components
│ │ ├── Home.tsx
│ │ ├── About.tsx
│ │ ├── Join.tsx
│ │ ├── NotFound.tsx
│ │ └── index.ts
│ ├── main.tsx # App entry point
│ └── index.css # Global styles
├── package.json
├── tailwind.config.js
├── vite.config.ts
└── README.md
/* Primary Colors */
--primary-green: #00D4AA /* BCCSS Brand Green */
--primary-teal: #00B4D8 /* Accent Teal */
/* Surface Colors */
--surface-black: #0A0A0A /* Deep Black */
--surface-gray: #1A1A1A /* Dark Gray */
--surface-border: #2A2A2A /* Border Gray */
/* Text Colors */
--text-white: #FFFFFF /* Primary Text */
--text-gray: #B0B0B0 /* Secondary Text */
--text-dim: #808080 /* Tertiary Text */
/* Accent Colors */
--accent-purple: #8B5CF6 /* Purple Accent */
--accent-pink: #EC4899 /* Pink Accent */
- Headers: Custom font stack with fallbacks
- Body: System font stack for optimal performance
- Code: Monospace for terminal elements
We welcome contributions from the BCCSS community! Here's how you can help:
Found a bug? Please create an issue with:
- Description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
- Browser/device information
Have an idea? We'd love to hear it! Include:
- Clear description of the feature
- Use case and benefits
- Mockups or examples (if applicable)
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Test thoroughly
npm run lint # Check code style npm run build # Test build
- Commit with clear messages
git commit -m "feat: add amazing new feature"
- Push and create a Pull Request
- ✅ Use TypeScript for type safety
- ✅ Follow ESLint rules
- ✅ Use functional components with hooks
- ✅ Keep components small and focused
- ✅ Use semantic HTML elements
- ✅ Add comments for complex logic
- ✅ Test on mobile devices
We use conventional commits:
feat:
New featuresfix:
Bug fixesdocs:
Documentation updatesstyle:
Code style changesrefactor:
Code refactoringtest:
Adding testschore:
Maintenance tasks
Command | Description |
---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
npm run deploy |
Deploy to GitHub Pages |
The site is automatically deployed to bccss.co using GitHub Pages.
npm run deploy
This will:
- Build the production version
- Deploy to the
gh-pages
branch - Update the live site
- Add event registration system
- Implement member directory
- Add blog/news section
- Dark/light theme toggle
- Member login portal
- Event calendar integration
- Newsletter signup
- Job board integration
A: Create a new component in src/pages/
, export it from src/pages/index.ts
, and add a route in src/main.tsx
.
A: Add photos to public/board/
and update the board member data in the About page component.
A: Add photos to public/events/
and update the images array in src/components/ImageCarousel.tsx
.
A: GitHub Pages can take a few minutes to update. Try clearing your browser cache or checking in an incognito window.
Need help? Reach out to us:
- 💬 Slack: bccss.slack.com
- 📧 Email: Newsletter
- 📸 Instagram: @bccssociety
- 🔗 GitHub: github.com/bccss
This project is open source and available under the MIT License.
- BCCSS Board Members for their vision and leadership
- Boston College for supporting our community
- Contributors who help make this site amazing
- Open Source Community for the incredible tools we use
Made with ❤️ by the BCCSS Community
© 2025 Boston College Computer Science Society