SLU Open Project
Overviewβ
SLU Open Project is a web-based work management tool that enables shared service providers in universities and similar contexts. It was originally built to support the SLU Center for Additive Manufacturing (SLU-CAM), and is expanding to support a variety of use cases.
Informationβ
-
Source Code: https://github.com/oss-slu/open-project/
-
Client SLU Center for Additive Manufacturing
-
Developers:
-
Start Date: Fall, 2025
-
Adoption Date: January, 2025
-
Technologies Used:
- React
- Vitest
- Postgresql
-
Type: Web application
-
License: LGPL 3.0
User Guideβ
π SLU Open Project is an open-source platform designed to manage distributed manufacturing, processing, and tool shops within an organization. Built with a modern, scalable tech stack, it emphasizes ease of use, maintainability, and adaptability to meet diverse organizational needs.
SLU open source project management platform is designed for distributed manufacturing, processing, and toolshops within an organization. It was specifically designed for the Saint Louis University Center for Additive Manufacturing, but can be adapted for other organizations.
Technical Informationβ
π Overviewβ
SLU OPEN PROJECT is an open-source platform developed with the following stack:
- Frontend: React
- Testing Framework: Vitest
- Database: PostgreSQL
The project is designed to support distributed manufacturing, processing, and toolshop workflows within organizations such as Saint Louis Universityβs Center for Additive Manufacturing.
The stack enables fast, modern UI development, reliable unit/integration testing, and robust relational data storage.
π§± Tech Stack & Architectureβ
π Frontendβ
- React with TypeScript
Provides a dynamic, interactive UI with the added benefits of static typing for improved code quality and maintainability. - UI Kit
Utilizes Tabler React UI Kit (tabler-react-2) for a consistent, responsive, and modern design.
π₯ Backendβ
- Express.js
A minimalist Node.js framework used for building the API and handling HTTP requests. - 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
Uses JSON Web Tokens to secure API endpoints, with automatic token attachment for secure communication. - SSO Integration
Integrates with SLUβs SAML-based Single Sign-On (SSO) and OKTA for identity and session management.
π Data Fetchingβ
- Custom
authFetch
Utility
A wrapper around the nativefetch
API that automatically attaches JWT tokens to all requests for secure data fetching.
β Testing & Quality Assuranceβ
- Vitest
Used for unit and integration tests to ensure reliability and correctness. - Dockerized PostgreSQL for Testing
Provides an isolated environment for testing, safeguarding production data.
π§© Modular Structureβ
- 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
Located in/app/src/hooks
, used for state management and data fetching, promoting code reuse and separation of concerns. - Scalability & Adaptability
The modular design enables easy customization and future feature development without disrupting existing functionality.
βοΈ Deployment & Environmentβ
- Docker
The backend is containerized using Docker, ensuring consistency across development, testing, and production environments.