34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
# 📂 Project Structure
|
|
|
|
Plexus is organized into three main areas: the client, the server, and the internal tooling.
|
|
|
|
## 📁 Root Directory
|
|
- `Makefile`: Central automation script for installation, development, and tasks.
|
|
- `docker-compose.yml`: Defines the development environment services.
|
|
- `Dockerfile.dev`: Unified development shell with all dependencies.
|
|
- `package.json`: Root package for devtooling (Husky, lint-staged).
|
|
- `pyproject.toml`: Configuration for Python linting (Ruff).
|
|
|
|
## 📁 `client/` (Frontend)
|
|
Built with Vue 3 and Vite.
|
|
- `src/components/`: Reusable UI components (Chat, Profile, UserList, etc.).
|
|
- `src/stores/`: Pinia stores for state management (`chat.js`).
|
|
- `src/style.css`: Global styles and Tailwind utilities.
|
|
- `tailwind.config.js`: Custom theme and animations.
|
|
|
|
## 📁 `server/` (Backend)
|
|
Built with Node.js and Socket.io.
|
|
- `index.js`: Main entry point, socket event handlers.
|
|
- `db.js`: Database initialization and schema management.
|
|
- `data/`: Contains the DuckDB database file (`chat.duckdb`).
|
|
- `tests/`: Integration tests for socket events.
|
|
|
|
## 📁 `tasks/` (Internal Tooling)
|
|
Python-based task tracker.
|
|
- `cli.py`: Command-line interface for managing tasks.
|
|
- `db.py`: DuckDB backend for task storage.
|
|
- `tasks.duckdb`: Database for internal tasks.
|
|
|
|
## 📁 `docs/` (Documentation)
|
|
Linked Markdown files covering all aspects of the project.
|