-
Notifications
You must be signed in to change notification settings - Fork 15
Update: Add alumni label to past devs and add Jack as new tech lead #206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jackcrane
wants to merge
1
commit into
oss-slu:main
Choose a base branch
from
jackcrane:update-open-project-participants
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,14 +12,16 @@ SLU Open Project is a web-based work management tool that enables shared service | |
|
||
- **Source Code:** [https://github.com/oss-slu/open-project/](https://github.com/oss-slu/open-project/) [<img src="/img/git-alt.svg" alt="git" width="25" height="25" />](https://github.com/oss-slu/open-project/) | ||
- **Client** SLU Center for Additive Manufacturing | ||
- **Current Tech Lead:** Lakshmi Prasanna Mamillapalli [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/lmamillapalli786) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/lakshmiprasana784/) | ||
- **Tech Lead:** Jack Crane [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/jackcrane) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/jackcranee/) | ||
- **Developers:** | ||
|
||
- Colin Sepher (capstone) [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/colinseper) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/colin-seper/) | ||
- Lakshmi Prasanna Mamillapalli (Alumni Tech Lead) [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/lmamillapalli786) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/lakshmiprasana784/) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For consistency, we've used comma separate |
||
|
||
- Thomas Macas (capstone) [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/ThomasMacas) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/thomas-macas-3730a7251/) | ||
- Colin Sepher (capstone) (alumni) [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/colinseper) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/colin-seper/) | ||
|
||
- Joi Laws (capstone) [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/lawsj) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/joijanaelaws/) | ||
- Thomas Macas (capstone) (alumni) [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/ThomasMacas) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/thomas-macas-3730a7251/) | ||
|
||
- Joi Laws (capstone) (alumni) [<img src="/img/github.svg" alt="github" width="25" height="25" />](https://github.com/lawsj) [<img src="/img/linkedin.svg" alt="linkedin" width="25" height="25" />](https://www.linkedin.com/in/joijanaelaws/) | ||
|
||
- **Start Date:** Fall, 2025 | ||
- **Adoption Date:** January, 2025 | ||
|
@@ -54,59 +56,59 @@ The stack enables fast, modern UI development, reliable unit/integration testing | |
|
||
#### 🌐 Frontend | ||
|
||
- **React with TypeScript** | ||
- **React with TypeScript** | ||
Provides a dynamic, interactive UI with the added benefits of static typing for improved code quality and maintainability. | ||
- **UI Kit** | ||
- **UI Kit** | ||
Utilizes **Tabler React UI Kit (tabler-react-2)** for a consistent, responsive, and modern design. | ||
|
||
--- | ||
|
||
#### 🖥 Backend | ||
|
||
- **Express.js** | ||
- **Express.js** | ||
A minimalist Node.js framework used for building the API and handling HTTP requests. | ||
- **File-based Routing** | ||
- **File-based Routing** | ||
Routes are organized in the `/routes` directory with a clean, scalable structure. All API routes are prefixed with `/api/`. | ||
|
||
--- | ||
|
||
#### 🔐 Authentication | ||
|
||
- **JWT-based Authentication** | ||
- **JWT-based Authentication** | ||
Uses JSON Web Tokens to secure API endpoints, with automatic token attachment for secure communication. | ||
- **SSO Integration** | ||
- **SSO Integration** | ||
Integrates with **SLU’s SAML-based Single Sign-On (SSO)** and **OKTA** for identity and session management. | ||
|
||
--- | ||
|
||
#### 🔄 Data Fetching | ||
|
||
- **Custom `authFetch` Utility** | ||
- **Custom `authFetch` Utility** | ||
A wrapper around the native `fetch` API that automatically attaches JWT tokens to all requests for secure data fetching. | ||
|
||
--- | ||
|
||
#### ✅ Testing & Quality Assurance | ||
|
||
- **Vitest** | ||
- **Vitest** | ||
Used for unit and integration tests to ensure reliability and correctness. | ||
- **Dockerized PostgreSQL for Testing** | ||
- **Dockerized PostgreSQL for Testing** | ||
Provides an isolated environment for testing, safeguarding production data. | ||
|
||
--- | ||
|
||
#### 🧩 Modular Structure | ||
|
||
- **Component-Based Architecture** | ||
- **Component-Based Architecture** | ||
UI components are organized in `/app/src/components`, grouped by resource (e.g., `User`, `Shop`, `Project`) and follow PascalCase naming conventions. | ||
- **Custom Hooks** | ||
- **Custom Hooks** | ||
Located in `/app/src/hooks`, used for state management and data fetching, promoting code reuse and separation of concerns. | ||
- **Scalability & Adaptability** | ||
- **Scalability & Adaptability** | ||
The modular design enables easy customization and future feature development without disrupting existing functionality. | ||
|
||
--- | ||
|
||
### ⚙️ Deployment & Environment | ||
|
||
- **Docker** | ||
- **Docker** | ||
The backend is containerized using Docker, ensuring consistency across development, testing, and production environments. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our current template for project pages has
**Current Tech Lead**
, but I kinda like how this makes it cleaner for longer lived projects. If we switch this on yours, I will want to make that change on all the pages for consistency. I'm trying to decide if it's worth the effort. What do you think?