1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106# UIC Tech Solutions Open Source Fund Website
This repository contains the source code for the UIC Tech Solutions Open Source Fund (OSF) website. The website serves to inform visitors about the fund, aggregate open micro-grants from supported projects, and solicit partnerships.
**Live Site:** [https://uic-osf.github.io/website/](https://uic-osf.github.io/website/)
## ๐ Overview
The UIC OSF website is a modern, responsive React application designed to highlight the fund's mission: supporting technology projects that work toward measurable public benefit.
**Key Features:**
* **Dynamic Micro-Grant Aggregation:** Fetches and displays open issues tagged with "micro-grant" from GitHub repositories (1111, AI Leaders, Equalify).
* **Project Showcase:** Highlights supported Open Source projects.
* **Team Section:** Introduces key team members.
* **Partnership Solicitation:** Encourages organizations to partner with the fund.
* **Accessibility:** Built with accessibility in mind, using semantic HTML and high-contrast colors.
## ๐ ๏ธ Tech Stack
* **Framework:** [React](https://react.dev/) + [Vite](https://vitejs.dev/)
* **Language:** [TypeScript](https://www.typescriptlang.org/)
* **Styling:** [Tailwind CSS](https://tailwindcss.com/)
* **Icons:** [Lucide React](https://lucide.dev/)
* **Animations:** [Framer Motion](https://www.framer.com/motion/)
* **Deployment:** [GitHub Pages](https://pages.github.com/)
## ๐ป Getting Started
Follow these steps to run the project locally on your machine.
### Prerequisites
* Node.js (v18 or higher recommended)
* npm (comes with Node.js)
### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/UIC-OSF/website.git
cd website
```
2. **Install dependencies:**
```bash
npm install
```
3. **Run the development server:**
```bash
npm run dev
```
The app should now be running at `http://localhost:5173` (or similar).
## ๐ฆ Building and Deploying
### Build for Production
To create a production-ready build:
```bash
npm run build
```
This will generate a `dist` folder containing the compiled assets.
### Deploy to GitHub Pages
This project is configured to deploy to GitHub Pages automatically via GitHub Actions whenever changes are pushed to the `main` branch.
The deployment workflow is defined in `.github/workflows/deploy.yml`.
## ๐ Project Structure
```
uic-osf/
โโโ public/ # Static assets
โโโ src/
โ โโโ components/ # Reusable UI components (Hero, MicroGrants, etc.)
โ โโโ App.tsx # Main application component
โ โโโ main.tsx # Entry point
โ โโโ index.css # Global styles and Tailwind directives
โโโ index.html # HTML template
โโโ package.json # Project dependencies and scripts
โโโ tailwind.config.js # Tailwind CSS configuration
โโโ vite.config.ts # Vite configuration
โโโ README.md # Project documentation
```
## ๐ค Contributing
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Commit your changes (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature/YourFeature`).
5. Open a Pull Request.
## ๐ Content Guidelines
**IMPORTANT:** "Open Source" is religion. It must ALWAYS be capitalized as "Open Source" (capital O, capital S, no hyphen). This rule applies to all content, documentation, and source code comments.
## ๐ License
[MIT License](LICENSE) (or appropriate license if defined)