Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
4f0ad83
final fix, please
Nov 14, 2023
3052744
Update links
TyHil May 30, 2025
ba7835d
Reroute homepage
TyHil May 30, 2025
9962681
Lint
TyHil May 30, 2025
e284c80
Remove husky
TyHil May 30, 2025
9f245c0
Remove .vscode
TyHil May 30, 2025
64598c1
Keep .vscode removed
TyHil May 30, 2025
a6ea584
Reduce warnings
TyHil May 30, 2025
cf5d8ba
useEffect fix
TyHil May 30, 2025
5a07b9e
Fix typo
TyHil May 30, 2025
73c156d
Import fix
TyHil May 30, 2025
cb0963b
Update link in vercel preview comment
TyHil May 30, 2025
8dace79
Merge pull request #763 from UTDNebula/update-links
TyHil May 30, 2025
9372965
Remove unused packages
TyHil May 30, 2025
efd5337
React 18
TyHil May 30, 2025
7b95c86
Update a lotta packages
TyHil May 30, 2025
274b299
Some more packages
TyHil May 30, 2025
453c2be
React types
TyHil May 30, 2025
8e5d609
trpc
TyHil May 30, 2025
633d20d
Lint
TyHil May 30, 2025
0341172
that damn eslint rule that changes only on tests
TyHil Jun 1, 2025
1d0392f
Node v22
TyHil Jun 1, 2025
ec1226d
pdfjs fix
TyHil Jun 3, 2025
979e319
Cypress test fix
TyHil Jun 3, 2025
e5acd8b
Remove console.logs
TyHil Jun 3, 2025
f884f9f
More cross-env
TyHil Jun 3, 2025
45c26bb
Update storybook
TyHil Jun 3, 2025
887f28c
Change eslint import sorter
TyHil Jun 3, 2025
b0b8e22
eslint use eslint:recommended
TyHil Jun 3, 2025
44afd7b
trpc
TyHil Jun 3, 2025
b464301
prettier
TyHil Jun 3, 2025
7f0d595
tailwind
TyHil Jun 3, 2025
80cbcab
mui
TyHil Jun 3, 2025
0d1ef52
next 14
TyHil Jun 3, 2025
28acc65
next 15 + sentry
TyHil Jun 3, 2025
cdb1f30
Small updates
TyHil Jun 3, 2025
00b8baa
eslint
TyHil Jun 3, 2025
233ba6d
npm audit fix
TyHil Jun 3, 2025
acbecb7
cypress fix
TyHil Jun 3, 2025
e5c8186
Merge pull request #764 from UTDNebula/packages
TyHil Jun 3, 2025
0551707
Merge branch 'develop' into new-tab-branch
TyHil Jun 3, 2025
a99531d
Change link new tab method
TyHil Jun 3, 2025
9df86d8
Fix button cursor pointers
TyHil Jun 3, 2025
87588a7
Merge pull request #700 from UTDNebula/new-tab-branch
TyHil Jun 3, 2025
a2c45a7
Fix redirect
TyHil Jun 3, 2025
2a6eea6
Sitemap
TyHil Jun 3, 2025
0ba40cd
Inter
TyHil Jun 3, 2025
ba44358
Init
TyHil Jun 4, 2025
3248fe4
update all
TyHil Jun 4, 2025
bf338af
Fix type errors
TyHil Jun 4, 2025
c17c011
Run black formatter
TyHil Jun 4, 2025
3785714
Formatter github action
TyHil Jun 4, 2025
2544ea7
Merge pull request #765 from UTDNebula/python-packages
TyHil Jun 4, 2025
86e9d27
Move toasts to the left, add spacing on right
TyHil Jul 1, 2025
6324750
Merge pull request #770 from UTDNebula/package-update-bugs
TyHil Jul 1, 2025
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
5 changes: 1 addition & 4 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,4 @@ NODE_ENV=
########## Sentry ##########
## Sentry: error tracking service
## Not required in any environments.
## If not set, defaults to "https://edb9e327f9024e7599eae859bad9be47@o4504918397353984.ingest.sentry.io/4504924302409728"
## at runtime.
NEXT_PUBLIC_SENTRY_DSN=
SENTRY_DSN=
SENTRY_AUTH_TOKEN=
72 changes: 11 additions & 61 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,73 +1,23 @@
module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 2020,
// Allows for the parsing of modern ECMAScript features.
sourceType: 'module',
// Allows for the use of imports.
ecmaFeatures: {
jsx: true, // Allows for the parsing of JSX.
},
},

plugins: ['unused-imports'],
extends: [
'plugin:react-hooks/recommended',
'next/core-web-vitals',
'prettier',
//TODO: 'plugin:jsx-a11y/recommended',
'eslint:recommended',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:@typescript-eslint/recommended',
'plugin:import/recommended',
'plugin:import/typescript',
'prettier',
'next/core-web-vitals',
'plugin:storybook/recommended',
],
plugins: ['simple-import-sort', '@typescript-eslint'],
rules: {
// Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs
// e.g. '@typescript-eslint/explicit-function-return-type': 'off',
'react/prop-types': 'warn',
'react/jsx-key': 'warn',
'react/react-in-jsx-scope': 'off',
// Configuration for import. See: https://github.com/import-js/eslint-plugin-import/tree/main.
'import/order': [
'warn',
{
groups: [
'builtin',
'external',
'internal',
['parent', 'sibling'],
'index',
'object',
'type',
],
alphabetize: {
order: 'asc',
caseInsensitive: true,
},
'newlines-between': 'always',
},
],
'import/no-named-as-default': 'off',
// Configuration for unused-imports. See: https://github.com/sweepline/eslint-plugin-unused-imports#usage.
'@typescript-eslint/no-unused-vars': 'off',
'unused-imports/no-unused-imports': process.env.NODE_ENV === 'test' ? 'error' : 'warn',
'unused-imports/no-unused-vars': [
'warn',
{
vars: 'all',
varsIgnorePattern: '^_',
args: 'after-used',
argsIgnorePattern: '^_',
},
],
},
settings: {
react: {
version: 'detect', // Tells eslint-plugin-react to automatically detect the version of React to use.
},
'import/resolver': {
typescript: true,
node: true,
},
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
'import/first': 'error',
'import/newline-after-import': 'error',
'import/no-duplicates': 'error',
},
};
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22

- name: Install dependencies
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,5 @@ jobs:
uses: thollander/actions-comment-pull-request@v2
with:
message: |
Vercel Preview URL :rocket: : ${{ steps.deploy.outputs.preview_url }}
Vercel Preview URL :rocket: : ${{ steps.deploy.outputs.preview_url }}/auth/login
Neon branch :elephant: : https://console.neon.tech/app/projects/${{ secrets.NEON_PROJECT_ID }}/branches/${{ steps.create_branch.outputs.branch_id }}
9 changes: 4 additions & 5 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
name: Check Formatting
name: Lint and Formatting Check

on:
workflow_dispatch:
pull_request:
push:
paths-ignore:
- 'validator/**'

jobs:
eslint:
main:
name: Run ESLint + Prettier
runs-on: ubuntu-latest

Expand All @@ -18,7 +17,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22

- name: Install Node.js Dependencies
run: npm ci
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22

- name: Install dependencies
run: |
Expand All @@ -112,7 +112,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 22

- name: Install dependencies
run: |
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/validator_format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Format Validator

on:
push:
paths:
- 'validator/**'

jobs:
main:
name: Run Black
runs-on: ubuntu-latest

defaults:
run:
working-directory: validator

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'

- name: Install dependencies
run: |
pip3 install -r requirements.txt

- name: Run Black
run: |
black --check .
3 changes: 2 additions & 1 deletion .github/workflows/validator_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-python@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ yarn-error.log*
# See docs/ide-config.md for more information.
.idea
.vs/
.vscode
.editorconfig

prisma/generated
Expand Down
1 change: 1 addition & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ module.exports = {
singleQuote: true,
printWidth: 100,
tabWidth: 2,
endOfLine: 'auto',
};
14 changes: 0 additions & 14 deletions .vscode/workspace.code-workspace

This file was deleted.

4 changes: 2 additions & 2 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Request lead for file changes in root and workflows.
/* @akevinge
/.github/**/* @akevinge
/* @UTDNebula/pr-reviewers
/.github/**/* @UTDNebula/pr-reviewers

# Request Planner PR Reviewers team for changes in to the following root directories.
/.vscode/ @UTDNebula/pr-reviewers
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ Nebula Planner is a degree planning tool for UTD students.

Contributions are welcome! Join the Discord and request access to the Planner dev team.

<a href="https://discord.com/invite/tcpcnfxmeQ"><img src=".github/discord-join-banner.svg" /></a>
<a href="https://discord.utdnebula.com/"><img src=".github/discord-join-banner.svg" /></a>

### Set-up

This project requires [Node v16+](https://nodejs.org/en/) and NPM
This project requires [Node v22+](https://nodejs.org/en/) and NPM
installation. It also requires local environment variables since it uses [Neon](https://neon.tech) (hosted PostgresDB service), a SMTP server, and Discord as authentication provider.

<details>
Expand Down Expand Up @@ -146,6 +146,7 @@ npm install
cd validator
python3.11 -m venv venv # Create virtual environment
source venv/bin/activate # Use virtual enviornment
#venv/Scripts/activate on Windows
pip install -r requirements.txt # Install dependencies
flask --app api run
```
Expand Down Expand Up @@ -176,7 +177,7 @@ npm install
<!-- TODO(@jasonappah): Copy this over to Confluence, link here. Would probably be worth revisiting/possibly rewriting other docs in this repo as well -->
<!-- Check out this [blog](https://btt.skgr.xyz/blog/nebula-planner-tech-stack) to learn about the stack we are using and a basic overview of the codebase. -->

Not sure where to start? Join the [Discord](https://discord.com/invite/tcpcnfxmeQ) to get help.
Not sure where to start? Join the [Discord](https://discord.utdnebula.com/) to get help.

## Internals

Expand Down
5 changes: 2 additions & 3 deletions cypress.config.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { defineConfig } from 'cypress';
import dotenv from 'dotenv';

import { prisma } from 'cypress/support/constants';
import dotenv from 'dotenv';
import { seedTemplates } from 'prisma/seedTemplates';
import { seedTestUser } from 'prisma/seedTestUser';

Expand All @@ -23,7 +22,7 @@ export default defineConfig({
viewportHeight: 1080,
viewportWidth: 1920,
baseUrl: 'http://localhost:3000',
setupNodeEvents(on, config) {
setupNodeEvents(on) {
on('after:run', async () => {
await prisma.$disconnect();
});
Expand Down
4 changes: 3 additions & 1 deletion cypress/support/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,7 @@ Cypress.Commands.add('resetDbAndLogin', () => {
// Ultity to select dropdown options from MUI's autocomplete
// Usage: cy.getDropdownOptions().contains("Whatever the option contains").click()
Cypress.Commands.add('getDropdownOptions', () => {
return cy.get('.MuiAutocomplete-listbox [role="option"]');
return cy.get('.MuiAutocomplete-popper [role="listbox"] [role="option"]', {
timeout: 10000,
});
});
2 changes: 1 addition & 1 deletion cypress/support/component-index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
Expand Down
2 changes: 1 addition & 1 deletion cypress/support/component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import './commands';
// Alternatively you can use CommonJS syntax:
// require('./commands')

import { mount } from 'cypress/react18';
import { mount } from 'cypress/react';

// Augment the Cypress namespace to include type definitions for
// your custom command.
Expand Down
3 changes: 2 additions & 1 deletion next-env.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
/// <reference types="next/navigation-types/compat/navigation" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
Loading
Loading