A production-ready, open source alumni portal theme / template designed for colleges and communities for community building, networking and maintaining alumni engagement.
- π¨ Fully Configurable: Customize everything via
site.config.ymlwithout touching code - π± Responsive Design: Beautiful UI that works on all devices
- π Advanced Search: Fuzzy search with faculty and year-based filtering
- π Content Collections: Markdown-driven content using Astro Content Collections
- π― SEO Optimized: Built-in SEO features and meta tags
- β‘ Performance: Fast, static site generation with minimal JavaScript
- π Theme System: Easy color customization with CSS variables
- π Documentation: Comprehensive guides for users and contributors
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone https://github.com/noskofficial/openalumns.git cd open-alumns-portal -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser Navigate to
http://localhost:4321
The theme is fully configurable through the site.config.yml file. Here's what you can customize:
site:
name: "Your Alumni Portal"
description: "Connect with your institution's alumni"
url: "https://your-domain.com"
logo: "/logo.svg"
favicon: "/favicon.ico"
hero_image: "/hero-bg.jpg"colors:
primary:
500: "#22c55e" # Main brand color
secondary:
500: "#eab308" # Accent color
accent:
500: "#737373" # Neutral colornavigation:
- label: "Home"
url: "/"
icon: "home"
- label: "Alumni Directory"
url: "/alumni"
mega_menu: true
submenu:
- label: "By Year"
url: "/alumni/years"
- label: "By Faculty"
url: "/alumni/faculties"faculties:
- name: "Computer Science"
slug: "cs"
description: "Computer Science graduates"
icon: "code"
color: "#22c55e"open-alumns-portal/
βββ src/
β βββ components/ # Reusable UI components
β βββ layouts/ # Page layouts
β βββ pages/ # Astro pages
β βββ content/ # Content collections
β β βββ alumni/ # Alumni profiles
β β βββ events/ # Event listings
β β βββ blog/ # Blog posts
β βββ styles/ # Global styles and CSS
β βββ utils/ # Utility functions
βββ public/ # Static assets
βββ site.config.yml # Main configuration file
βββ tailwind.config.mjs # Tailwind CSS configuration
βββ astro.config.mjs # Astro configuration
- Create a new
.astrofile insrc/pages/ - Import the Layout component
- Add your content
---
import Layout from '../layouts/Layout.astro';
export default function Page() {
return (
<Layout title="Page Title">
<h1>Your Content Here</h1>
</Layout>
);
}
---- Global CSS: Edit
src/styles/global.css - Tailwind Config: Modify
tailwind.config.mjs - Component Styles: Use Tailwind classes or custom CSS
- Define schema in
src/content/config.ts - Create content files in appropriate directories
- Update components to display new content
Create alumni profiles in src/content/alumni/:
---
name: "John Doe"
slug: "john-doe"
faculty: "Computer Science"
year: 2020
bio: "Software engineer passionate about..."
short_bio: "Software Engineer at Tech Corp"
email: "john@example.com"
linkedin: "https://linkedin.com/in/johndoe"
current_position: "Senior Software Engineer"
company: "Tech Corp"
location: "San Francisco, CA"
skills: ["JavaScript", "React", "Node.js"]
featured: true
---Add events in src/content/events/:
---
title: "Annual Alumni Meet"
slug: "annual-alumni-meet-2024"
description: "Join us for our annual gathering..."
date: 2024-12-15
location: "Main Campus"
category: "Networking"
featured: true
---Create blog posts in src/content/blog/:
---
title: "Building Strong Alumni Networks"
description: "Tips for creating meaningful connections..."
author: "Admin"
publishDate: 2024-01-15
category: "Community"
tags: ["networking", "alumni", "community"]
---
Your blog content here...- Push your code to GitHub
- Connect your repository to Vercel
- Deploy automatically
- Build the project:
npm run build - Deploy the
dist/folder to Netlify
The theme generates static files, so it works with any static hosting service.
We welcome contributions from the community! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Commit:
git commit -m 'Add feature' - Push:
git push origin feature-name - Open a Pull Request
- Follow the existing code style
- Add TypeScript types where appropriate
- Test your changes locally
- Update documentation if needed
- Ensure responsive design works
- π¨ UI/UX improvements
- π Performance optimizations
- π± Mobile experience enhancements
- π Internationalization support
- π§ Additional customization options
- π Documentation improvements
- π Bug fixes
- Advanced search filters
- Alumni directory export
- Event registration system
- Newsletter integration
- Multi-language support
- Dark mode theme
- Mobile app
- Analytics dashboard
This project is licensed under the MIT License - see the LICENSE file for details.
- NOSK (Nepal Open Source Klub) - Lead organization
- Astro Team - Amazing static site generator
- Tailwind CSS - Utility-first CSS framework
- Community Contributors - Everyone who helps improve this project
- GitHub Issues: Report bugs or request features
- Discussions: Join community discussions
- Email: info@nosk.org.np
Made with β€οΈ by NOSK and the open source community.
If this project helps you, please give it a βοΈ!