Skip to content

ma44ass/tickita

Repository files navigation

Tickita

Introduction

Tickita is a robust and scalable application designed to streamline project management and collaboration. Built with a focus on Reliable Logic, Web Accessibility (a11y), and a Clean UI/UX, Tickita provides a seamless experience for managing workspaces and projects.

Features

Seamless Integration and Responsive Design

  • Hono.js Backend Integration: Leverages Hono.js for efficient and performant API routes seamlessly integrated within a Next.js App Router environment.
  • Responsive Sidebar and Navigation: Provides an intuitive and accessible user experience across various devices with a meticulously designed, responsive sidebar and navigation system built with Tailwind CSS.

Robust Authentication

  • Appwrite Authentication: Secure and flexible authentication mechanisms powered by Appwrite, supporting both OAuth providers and traditional Email/Password methods.

Invite Code Generation

  • Secure Invite Codes: Implements a reliable mechanism for generating secure and unique invite codes, enabling controlled access and collaboration within workspaces. This feature enhances the application's ability to manage user onboarding and access permissions efficiently.

Workspace and Project Management

  • Comprehensive Management Logic: Implements robust logic for creating, organizing, and managing workspaces and projects, facilitating efficient team collaboration. Users can easily create new workspaces, each with its own dedicated environment.
  • Role-Based Access Control (RBAC): Integrates role-based access control (e.g., Admin, Member) to manage permissions within workspaces, ensuring secure and appropriate access levels for different team members.

How it works: Workspace Creation

The application leverages Appwrite's database capabilities to securely store workspace information. When a user creates a new workspace, the system captures details such as the workspace name and an optional image. This data is then validated using Zod schemas and securely persisted in the Appwrite database, ensuring data integrity and reliable creation of new collaborative spaces. Images are uploaded to Appwrite Storage, with their references securely linked to the respective workspaces.

Reliable Logic: Technical Achievements

Robust Authentication and Session Management

  • Enhanced Session Control: Implemented advanced session management within the authentication system, ensuring secure user experiences and reliable session invalidation (e.g., during logout) across the application. This contributes to a highly secure and dependable user authentication flow.

Appwrite Query Refactoring

  • SDK v1.5+ Compliance: Successfully refactored all Appwrite queries to align with the latest SDK updates (v1.5+), ensuring optimal performance, enhanced security, and future compatibility. This involved addressing breaking changes and optimizing query structures for improved data retrieval and manipulation.

Tech Stack

  • Frontend: Next.js (App Router), React
  • Backend: Hono.js
  • Styling: Tailwind CSS
  • Database/Authentication: Appwrite

Current Status

Done

  • Setup of a Hono.js backend integration within a Next.js App Router environment.
  • Implementation of Authentication using Appwrite (OAuth and Email/Password).
  • Creation of Workspace and Project Management logic.
  • Refactored Appwrite Queries to comply with the latest SDK updates (v1.5+).
  • Designed a Responsive Sidebar and Navigation using Tailwind CSS.

Pending

  • [Further features and enhancements will be listed here as development progresses.]

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

About

Task management system

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors