Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# CODEOWNERS defines who automatically reviews changes.
# Format: path @github-user1 @github-team

# Everything defaults to core maintainers
* @Inika-Goyal @YourOrgOrTeam

# Frontend specific
/frontend/ @Inika-Goyal
22 changes: 22 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Summary
Describe the change.

## Motivation
Why is this change needed?

## Changes
-

## Screenshots / Demo (if UI)

## Checklist
- [ ] Tests (if applicable) added or updated
- [ ] Lint passes (`npm run lint`)
- [ ] Type checks pass (`npx tsc --noEmit`)
- [ ] Docs updated (README / CONTRIBUTING / comments)
- [ ] No unused console.logs

## Feature Flags
Does this introduce or use a feature flag? If so, describe.

## Additional Notes
20 changes: 20 additions & 0 deletions .github/workflows/codeowners-enforce.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Enforce CODEOWNERS (informational)

on:
pull_request:
types: [opened, synchronize]

jobs:
codeowners:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Show codeowners (if exists)
run: |
if [ -f .github/CODEOWNERS ]; then
echo 'CODEOWNERS content:'
cat .github/CODEOWNERS
else
echo 'No CODEOWNERS file found.'
fi
54 changes: 54 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Contributing to ExoPlanets

Thank you for your interest in contributing! This guide will help you get started.

## 1. Branch Strategy
- `main`: Stable, deployable code.
- Feature branches: `feature/<short-description>`
- Bug fixes: `fix/<short-description>`

## 2. Getting Started
```bash
# Clone and install
git clone <repo-url>
cd ExoPlanets/frontend
npm install
npm run dev
```

## 3. Making Changes
1. Create a branch: `git checkout -b feature/add-planet-table`
2. Make changes and run lint & type checks:
- `npm run lint`
- `npm run build` (or `npx tsc --noEmit`)
3. Commit using conventional commits (e.g., `feat: add planet detail panel`).
4. Push and open a Pull Request (PR) into `main`.

## 4. Pull Request Guidelines
- Keep PRs focused (one logical change set).
- Include a clear description: purpose, approach, screenshots if UI.
- Ensure no ESLint errors.
- Add or update docs if behavior changes.

## 5. Code Style
- TypeScript + React.
- Prefer explicit types over `any`.
- Use existing utility functions in `src/lib/`.
- Keep components small and composable.

## 6. Feature Flags
Use `featureFlags.ts` for gated behavior. Add env vars prefixed with `VITE_`.

## 7. Assets
Place static assets under `frontend/public/`. Refer to them with absolute paths like `/kepler.gif`.

## 8. Testing (Future)
Add lightweight tests when a testing framework is introduced.

## 9. Communication
Use PR comments for discussion. For larger changes, open an issue first.

## 10. License and Attribution
Ensure external assets have proper attribution or licensing.

Happy contributing! 🌌
9 changes: 7 additions & 2 deletions frontend/src/components/AboutSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,13 @@ export const AboutSection: React.FC = () => {
<h2 className="text-4xl font-bold italic text-white mb-6">
About
</h2>
<p className="text-gray-300 mb-8 leading-relaxed">
Modern exoplanet discovery produces terabytes of stellar brightness measurements (light curves) from space telescopes like Kepler and TESS. The transit photometry method detects subtle, periodic dips in a star&apos;s flux when an orbiting planet crosses the stellar disk. Turning raw pixels into vetted planet candidates requires: (1) detrending instrumental and stellar variability, (2) searching for repeating transit-like signals, (3) modeling transit parameters (depth, duration, period) to infer planet size and orbital geometry, (4) filtering false positives such as eclipsing binaries, background blends, or systematic artifacts, and (5) aggregating stellar metadata (temperature, radius, contamination) for context. This project organizes, annotates, and links these heterogeneous data layers—raw and processed light curves, transit fits, validation metrics, and catalog cross-matches—so researchers and citizen scientists can efficiently explore, compare, and prioritize exoplanet candidates.
<p className="text-gray-300 mb-8 leading-relaxed space-y-4">
<strong className="block text-white mb-2">Our Model</strong>
Our supervised machine learning model classifies planetary candidates from NASA’s Kepler, K2, and TESS missions as either true exoplanets or false positives. It uses features such as orbital period, stellar radius, and stellar temperature to learn the patterns that distinguish real planets from other astrophysical signals.
<br /><br />
By combining multiple supervised learning algorithms into a stacking model and connecting our website to Northwestern’s QUEST Supercomputer, we’ve leveraged machine learning and high-performance computing to achieve highly accurate predictions.
<br /><br />
After training and tuning our model, we were able to confidently classify previously unidentified survey candidates as exoplanets, paving the way for future research and helping prioritize which potential worlds deserve the most follow-up and observational resources. Our interactive model editor even allows users to adjust hyperparameters and rerun the model themselves.
</p>
<Button className="bg-[#1a237e] hover:bg-[#0d1642] text-white px-8 py-6 rounded-full font-semibold">
Explore Data
Expand Down
17 changes: 15 additions & 2 deletions frontend/src/pages/Facts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,21 @@ import React from 'react';
const Facts: React.FC = () => {
return (
<main className="max-w-4xl mx-auto p-8">
<h1 className="text-3xl font-bold mb-4">Facts</h1>
<p className="text-gray-300">Interesting facts about exoplanets and the solar system go here.</p>
<h1 className="text-3xl font-bold mb-6">Fun Facts About Exoplanets</h1>
<ul className="list-disc list-inside space-y-4 text-gray-300 leading-relaxed">
<li>
Over 5,000 exoplanets have been confirmed to date across a wide range of sizes, compositions, and orbital configurations.
</li>
<li>
Some planets orbit two stars at once, much like the Tatooine system in Star Wars!
</li>
<li>
Certain rocky worlds, such as 55 Cancri e, may experience diamond rain due to their carbon-rich atmospheres.
</li>
<li>
One remarkable discovery, <em>WD 1856+534 b</em>, is a Jupiter-sized planet orbiting a white dwarf. It circles the dead star every 34 hours, so close that it narrowly avoids being torn apart by tidal forces and puzzles astronomers as to its origin.
</li>
</ul>
</main>
);
};
Expand Down