Tasakus [(Tasuku) means "task" in Japanese*] is a simple Trello clone built with Next.js and Redux, designed to replicate core functionalities of the popular task management tool, Trello.
- Task Management: Create, edit, and delete tasks within customizable boards and lists.
- Drag and Drop Interface: Intuitive drag-and-drop functionality for organizing tasks.
- State Management: Utilizes Redux for efficient state management across the application.
- Authentication: Implements user authentication using Firebase and JWT.
- Database Integration: Employs Prisma as the ORM for database interactions.
- Next.js: React-based framework for server-side rendering and static site generation.
- Redux: State management library for JavaScript applications.
- Firebase: Platform for authentication and real-time database services.
- JWT (JSON Web Tokens): Standard for securely transmitting information between parties.
- Prisma: Next-generation ORM for Node.js and TypeScript.
- Zustand: A small, fast, and scalable state management solution.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
To get a local copy of the project up and running, follow these steps:
-
Clone the repository:
git clone https://github.com/psantosh16/tasakus.git cd tasakus
-
Install dependencies:
Using pnpm:
pnpm install
-
Set up environment variables:
-
Rename
.env.sample
to.env
:mv .env.sample .env
-
Update the
.env
file with your credentials and any other necessary environment variables.
-
-
Initialize the database:
npx prisma migrate dev
This will apply the database migrations and set up the database schema.
-
Start the development server:
With pnpm:
pnpm run dev
The application should now be running on http://localhost:3000.
tasakus/
├─ src/
│ ├─ action/ # Redux action creators
│ ├─ app/ # Next.js application directory
│ ├─ components/ # Reusable UI components
│ ├─ constants/ # Application-wide constants
│ ├─ hooks/ # Custom React hooks
│ ├─ lib/ # Utility functions and libraries
│ ├─ styles/ # Global and component-specific styles
│ └─ pages/ # Next.js pages
├─ prisma/ # Prisma schema and migrations
├─ public/ # Static assets
├─ config/ # Configuration files
└─ .env # Environment variables
- Trello for the inspiration.
- The developers and maintainers of the technologies used in this project.
For more information, visit the live application at tasukus.vercel.app.