feat: migrate to node.js (#138)
* chore: remove bun.lockb and update package manager to pnpm; add hono-api dependency
* feat: implement user authentication and workspace management
- Added user authentication middleware to handle session validation and management.
- Enhanced sign-in and sign-up controllers to utilize HTTP exceptions for error handling.
- Introduced workspace management features including create, read, update, and delete operations.
- Integrated dotenv for environment variable management and updated dependencies in pnpm-lock.yaml.
- Refactored API fetchers to align with new client structure and improve error handling.
* feat: add workspace user management API and update related components
- Introduced a new workspace user management API with routes for creating, deleting, inviting, and
retrieving workspace users.
- Implemented controllers for handling workspace user operations, including validation using Zod.
- Updated the Hono API to include the new workspace user routes.
- Refactored frontend components to utilize the new API for fetching active workspace users and
managing user assignments.
- Renamed hooks for clarity, changing `useActiveWorkspaceUsers` to `useGetActiveWorkspaceUsers`
for consistency.
* feat: implement project and task management APIs
- Added project management API with routes for creating, retrieving, updating, and deleting
projects.
- Introduced task management API with routes for creating, retrieving, updating tasks, and
fetching tasks by project.
- Implemented controllers for project and task operations, utilizing Zod for validation.
- Updated Hono API to include new project and task routes.
- Refactored frontend components and fetchers to integrate with the new APIs and improve
type safety.
* feat: enhance user authentication and session management
- Added a new endpoint to retrieve the current user session with the `/me` route.
- Updated authentication middleware to streamline session validation.
- Refactored frontend components to align with the new user session structure.
- Modified API client to include credentials in requests for improved session handling.
* refactor: simplify getWorkspaces function and update return value in updateWorkspace
- Removed the unnecessary Promise.all logic in getWorkspaces, returning workspaces
directly.
- Updated the return statement in updateWorkspace to return the updated workspace
directly instead of accessing the first element of the array.
* refactor: remove project, task, user, and workspace APIs
- Deleted project, task, user, and workspace management APIs along with their associated
controllers and routes.
- Cleaned up the main API entry point by removing unused imports and middleware.
- Commented out session validation logic for future implementation.
* fix: improve error handling in updateProject function
- Replaced generic error throwing with HTTPException for better error response.
- Updated the error message for non-existing projects to return a 404 status code.
* feat: enhance demo mode functionality and improve authentication middleware
* feat: refactor database structure and enhance API functionality
- Introduced a new database module to centralize database interactions.
- Updated import paths across various controllers to reference the new database module.
- Added new dependencies for cryptographic functions and encoding.
- Enhanced TypeScript configuration for better module resolution and source mapping.
- Updated package versions in pnpm-lock.yaml for improved compatibility.
* refactor: move Hono API and related components
- Renamed the Hono API along with all associated routes, controllers, and configuration files.
- Cleaned up the project structure by removing unused files and dependencies.
- Updated the Dockerfile and configuration files to reflect the move of the Hono API.
- Ensured that the database schema and related utilities are preserved for future use.
* fix: update schema path in drizzle configuration
* feat: add Docker Compose configuration and enhance API error handling
- Introduced a new Docker Compose configuration file for local development.
- Updated API to throw HTTPException for failed task and workspace creation.
- Adjusted TypeScript configuration to include declaration files.
- Fixed port number for the API server to ensure correct operation.
- Improved error handling in session token validation and task number retrieval.
* chore: update lucide-react to version 0.486.0 and refine API routes
- Bumped lucide-react from 0.484.0 to 0.486.0 in pnpm-lock.yaml for improved compatibility.
- Simplified authentication middleware in the API by directly using the auth function.
- Updated task route to include 'tasks' in the path for clarity.
- Adjusted user info component styles for better alignment and visibility.
- Fixed API client URL to point to the correct port for local development.
* feat: implement Dockerfile for API and update TypeScript configuration
- Added Dockerfile for the API service to streamline the build and deployment process.
- Updated TypeScript configuration to use CommonJS module format and improved path references.
- Adjusted package.json scripts to include a build command using esbuild.
- Enhanced database schema definition for better clarity and structure.
- Updated pnpm-lock.yaml with new dependency versions for improved compatibility.
* feat: update drizzle-orm version and refactor task handling
* feat: add GitHub Actions workflow for tagging Docker images with :node tag
- Introduced a new workflow to tag web and API Docker images with the :node tag.
- Configured inputs for conditional tagging of images based on user selection.
- Implemented steps for logging into GitHub Container Registry and tagging images accordingly.
* feat: add push trigger for node tagging workflow
- Added a push trigger to the GitHub Actions workflow for tagging Docker images with the :node tag.
- Configured the trigger to activate on pushes to the feat/migrate-to-node-js branch.
* fix: update conditions for Docker image tagging in workflow
- Modified the conditions for tagging web and API Docker images to include a push event trigger.
- Ensured that images are tagged with the :node tag on both user input and push events.
* refactor: remove unused WebSocket hook and update API URL reference
* refactor: optimize Dockerfile for API and web services
building.
* refactor: update CORS origin configuration in API
* fix: update service ports and configurations for local development
- Changed the web service port mapping from 5173:80 to 5173:5173 in Docker Compose and README.
- Updated the Dockerfile to expose port 5173 and adjusted the health check URL accordingly.
- Modified nginx configuration to listen on port 5173.
- Updated Kubernetes deployment template to reflect the new container port and added liveness/readiness probes.
- Revised NOTES.txt to clarify port forwarding instructions for accessing the application.
* chore: remove unused vite-env type definitions
- Deleted vite-env.d.ts files from the root and libs directory as they are no longer needed.
* feat: enhance workspace management and settings functionality
- Added description field to project and workspace update APIs.
- Implemented new workspace settings section in the sidebar for better navigation.
- Created a dedicated route for workspace settings with form handling for updates and deletion.
- Updated various dependencies in package.json for improved functionality and compatibility.
- Introduced new hooks for managing workspace updates and deletions.
* refactor: improve workspace settings sidebar layout
- Updated the WorkspaceSettings component to enhance the layout and styling of the sidebar.
- Introduced a header for the workspace section and adjusted link alignment for better user experience.
- Improved conditional rendering for sidebar items based on the sidebar's open state.
* ci: pdating node tagging
* ci: pdating node tagging
* ci: pdating node tagging
* ci: commenting type checking for now
* feat: implement database schema updates and workspace user management
- Added new SQL migration files to restructure the database schema, including the creation of new tables for activities, projects, tasks, users, workspaces, and workspace members.
- Updated the database schema in TypeScript to reflect changes in the new tables and their relationships.
- Enhanced workspace user management functionality by updating API routes and controllers to handle workspace user invitations and retrievals more effectively.
- Improved the user interface for workspace settings, including permission checks for modifying settings based on user roles.
* chore: update pre-commit script and format JSON files
* ci: remove node tagging workflow file
This is a binary file and will not be displayed.