A modern web application built with React, Vite, and React Router.
- Frontend Framework: React 18
- Routing: React Router v7
- Build Tool: Vite v6
- Styling: Tailwind CSS v3
- Authentication: Clerk
- State Management: Zustand
- Data Fetching: TanStack Query (React Query)
- UI Components: Chakra UI, Lucide React icons
- Charts: Recharts
- Testing: Vitest (unit), Cypress (E2E)
- Node.js (version 18 or higher)
- npm package manager
-
Clone the repository:
git clone <repository-url>
-
Navigate to the project directory:
cd veltrian -
Install dependencies:
npm install
-
Install React Router:
npm install react-router
-
Create a
.envfile based on.env.example:cp .env.example .env
-
Update the
.envfile with your environment variables, particularly:VITE_CLERK_PUBLISHABLE_KEY=pk_test_XXXXXXXXXXXXXXXXXXXXXXXXVITE_CLERK_AFTER_SIGN_IN_URL=/appVITE_CLERK_AFTER_SIGN_UP_URL=/appVITE_CLERK_SIGN_IN_URL=/loginVITE_CLERK_SIGN_UP_URL=/signup
Start the development server:
npm run devThe application will be available at http://localhost:4000 (or another port if 4000 is busy).
Create a production build:
npm run buildRun TypeScript type checking:
npm run typechecksrc/
├── app/ # App router structure (editable)
│ ├── api/ # API routes (editable)
│ ├── app/ # Main application page
│ │ └── page.jsx # Main app component
│ ├── components/ # Reusable UI components
│ │ ├── FileManager/ # File management components
│ │ │ ├── FileList.jsx
│ │ │ ├── UploadArea.jsx
│ │ │ ├── PreviewModal.jsx
│ │ │ ├── PassphraseSetupModal.jsx
│ │ │ └── index.js
│ │ ├── Header.jsx # Global header component
│ │ └── README.md # Component documentation
│ ├── hooks/ # Custom React hooks
│ │ ├── useFileOperations.js
│ │ ├── useFormatting.js
│ │ ├── index.js
│ │ └── README.md # Hooks documentation
│ ├── login/ # Login page (editable)
│ ├── __create/ # Auto-generated files (do not edit)
│ ├── layout.jsx # Root layout (editable)
│ ├── page.jsx # Root page (editable)
│ ├── root.tsx # Root component (editable)
│ └── routes.ts # Route configuration (editable)
├── utils/ # Utility functions (editable)
├── __create/ # Auto-generated templates (do not edit)
└── ... # Other auto-generated files (do not edit)
# Editable files:
# - src/app/ (except __create subdirectory)
# - src/utils/
# Auto-generated files (do not edit):
# - src/app/__create/
# - src/__create/
# - src/auth.d.ts
# - src/client.d.ts
# - src/global.d.ts
# - build/ (created after build)
# - node_modules/ (auto-generated by npm)
This project uses Clerk for authentication. Make sure to set up your Clerk account and configure the required environment variables.
dev: Start the development serverbuild: Create a production buildtypecheck: Run TypeScript type checking
To learn more about the technologies used in this project:
- React Documentation
- Vite Documentation
- React Router Documentation
- Clerk Documentation
- Tailwind CSS Documentation
This application can be deployed to various platforms that support Node.js applications, such as Vercel, Netlify, or traditional hosting providers.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a pull request