The modern frontend for OpenVault.
Fast, clean, and developer-focused.
OpenVault Frontend is the web application powering the OpenVault platform.
It is designed to provide a fast, modern, and intuitive interface for discovering and interacting with Minecraft projects while keeping the codebase maintainable and scalable.
The frontend is built with a modern React ecosystem and follows a component-driven architecture.
| Technology | Purpose |
|---|---|
| React | User interface |
| TypeScript | Type-safe development |
| TanStack Start | Full-stack React framework |
| TanStack Router | Type-safe routing |
| Tailwind CSS | Styling |
| shadcn/ui | Reusable UI components |
| Vite | Development and build tooling |
| Vitest | Testing |
| ESLint | Code quality |
| Prettier | Code formatting |
src/
├── components/
│ └── ui/ # Reusable UI primitives
│
├── lib/ # Shared utilities and helpers
│
├── routes/ # Application routes
│
├── router.tsx # Router configuration
│
└── styles.css # Global styles
As OpenVault grows, the structure will be expanded around individual features and domains to keep the application modular and maintainable.
Make sure you have the following installed:
- Node.js
- pnpm
git clone https://github.com/FastVault/frontend.git
cd frontendpnpm installpnpm devThe development server will be available at:
http://localhost:3000
| Command | Description |
|---|---|
pnpm dev |
Start the development server |
pnpm build |
Create a production build |
pnpm preview |
Preview the production build |
pnpm test |
Run tests |
pnpm lint |
Check the code with ESLint |
pnpm format |
Format the codebase |
pnpm check |
Check formatting |
pnpm typecheck |
Run TypeScript checks |
Before opening a pull request, it is recommended to run:
pnpm lint
pnpm check
pnpm typecheck
pnpm test
pnpm buildOpenVault follows a component-driven approach built around reusable primitives and predictable application structure.
The frontend is intended to evolve toward a feature-oriented architecture:
src/
├── components/
│ ├── ui/
│ ├── layout/
│ ├── navigation/
│ └── ...
│
├── features/
│ ├── projects/
│ ├── search/
│ ├── versions/
│ ├── authentication/
│ └── ...
│
├── lib/
│ ├── api/
│ ├── utils/
│ └── ...
│
└── routes/
This keeps domain-specific logic close to the feature it belongs to while allowing shared components and utilities to remain independent.
Keep navigation, rendering, and interactions responsive.
Prefer clear interfaces and straightforward solutions over unnecessary complexity.
Use shared components, spacing, typography, and interaction patterns throughout the application.
Build interfaces that work across different devices, input methods, and accessibility needs.
Keep components focused, dependencies intentional, and application logic easy to understand.
Establish patterns that can support OpenVault as the platform and codebase grow.
Contributions are welcome.
Before making a large change, consider opening an issue to discuss the idea and its implementation.
When submitting a pull request:
- Keep changes focused.
- Follow the existing project structure and conventions.
- Add or update tests where appropriate.
- Run the project checks locally.
- Provide a clear description of the change.
OpenVault Frontend is licensed under the Apache License 2.0.
See LICENSE for the complete license text.
Built for OpenVault.