Welcome to the Taski Full-Stack Project
Taski is a comprehensive task management system developed using the MERN stack, which combines MongoDB, Express.js, React, and Node.js. This platform is designed to help individuals and teams efficiently organize, prioritize, and track their tasks and projects in real-time. With its user-friendly interface and powerful functionalities, Taski streamlines workflow, enhances collaboration, and boosts productivity. Whether you’re managing simple to-do lists or more complex projects, Taski provides the necessary tools to ensure that every task is accounted for and completed on time.
- All apis protected
- Code Readable And Strutered
- User Verification Using Jose
- Mongoose Schema Models
- CRUD Operation
- Middlewares
- Responsive design
- Dark mode Light Mode
- Data Caching
- @hello-pangea/dnd (^18.0.1)
- @radix-ui/react-avatar (^1.1.3)
- @radix-ui/react-popover (^1.1.6)
- @radix-ui/react-select (^2.1.6)
- @react-three/fiber (^9.0.0-alpha.8)
- @tailwindcss/vite (^4.0.7)
- @tanstack/react-query (^5.66.8)
- @tsparticles/engine (^3.8.1)
- @tsparticles/react (^3.0.0)
- @tsparticles/slim (^3.8.1)
- axios (^1.7.9)
- class-variance-authority (^0.7.1)
- clsx (^2.1.1)
- firebase (^11.3.1)
- framer-motion (^12.4.7)
- lucide-react (^0.475.0)
- moment (^2.30.1)
- motion (^12.4.7)
- notistack (^3.0.2)
- react (^19.0.0)
- react-dom (^19.0.0)
- react-icons (^5.5.0)
- react-router-dom (^7.2.0)
- tailwind-merge (^3.0.1)
- tailwindcss (^4.0.7)
- tailwindcss-animate (^1.0.7)
- three (^0.173.0)
- cookie-parser (^1.4.7)
- cors (^2.8.5)
- dotenv (^16.4.7)
- express (^4.21.2)
- jose (^5.10.0)
- mongoose (^8.9.2)
├─ backend
│ ├─ .env.example
│ ├─ .gitignore
│ ├─ app.server.js
│ ├─ backend.zip
│ ├─ config
│ │ └─ joseSecret.js
│ ├─ controllers
│ │ ├─ Auth
│ │ │ └─ createToken.js
│ │ └─ Task
│ │ ├─ createNewTask.js
│ │ ├─ deleteTask.js
│ │ ├─ getAllTasks.js
│ │ ├─ getTaskById.js
│ │ ├─ updateTask.js
│ │ └─ updateTasksMany.js
│ ├─ db
│ │ └─ dbConnect.js
│ ├─ middlewares
│ │ └─ verifyAccessToke.js
│ ├─ models
│ │ └─ task.model.js
│ ├─ package-lock.json
│ ├─ package.json
│ ├─ routes
│ │ └─ router.js
│ └─ vercel.json
└─ frontend
├─ .env.example
├─ .gitignore
├─ components.json
├─ eslint.config.js
├─ firebase.config.js
├─ frontend.zip
├─ index.html
├─ jsconfig.json
├─ package-lock.json
├─ package.json
├─ public
│ ├─ _redirects
│ ├─ favicon.svg
│ └─ notfound.svg
├─ src
│ ├─ Layout
│ │ └─ Layout.jsx
│ ├─ components
│ │ ├─ Header.jsx
│ │ ├─ TaskAdd.jsx
│ │ ├─ magicui
│ │ │ └─ scroll-progress.jsx
│ │ └─ ui
│ │ ├─ Br.jsx
│ │ ├─ Button.jsx
│ │ ├─ DarkMode.jsx
│ │ ├─ Logo.jsx
│ │ ├─ MarkLink.jsx
│ │ ├─ Overlay.jsx
│ │ ├─ avatar.jsx
│ │ ├─ canvas-reveal-effect.jsx
│ │ ├─ cover.jsx
│ │ ├─ evervault-card.jsx
│ │ ├─ popover.jsx
│ │ ├─ select.jsx
│ │ ├─ skeleton.jsx
│ │ └─ sparkles.jsx
│ ├─ context
│ │ └─ AuthContext.jsx
│ ├─ hooks
│ │ └─ axiosSecure.js
│ ├─ lib
│ │ └─ utils.js
│ ├─ main.jsx
│ ├─ pages
│ │ ├─ 404.jsx
│ │ ├─ Dashboard
│ │ │ ├─ Dashboard.jsx
│ │ │ └─ DashboardSkeleton.jsx
│ │ ├─ Home
│ │ │ └─ Home.jsx
│ │ └─ Tasks
│ │ ├─ Tasks.jsx
│ │ └─ update
│ │ ├─ Skeleton.jsx
│ │ └─ Update.jsx
│ ├─ router
│ │ ├─ Private.routes.jsx
│ │ └─ Routes.jsx
│ └─ style.css
└─ vite.config.js
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/StackMastery/Taski
cd taski
Installation
Install the project dependencies using npm:
npm install
Configure Frontend Env
Rename the .env.example file to .env.local and fill all env
# Firebase Config
VITE_FIREBASE_API_KEY=YOUR_API_KEY
VITE_FIREBASE_AUTH_DOMAIN=YOUR_AUTH_DOMAIN
VITE_FIREBASE_PROJECT_ID=YOUR_PROJECT_ID
VITE_FIREBASE_STORAGE_BUCKET=YOUR_STORAGE_BUCKET
VITE_FIREBASE_MESSAGING_SENDER_ID=YOUR_MESSAGING_SENDER_ID
VITE_FIREBASE_APP_ID=YOUR_APP_ID
VITE_FIREBASE_MEASUREMENT_ID=YOUR_MEASUREMENT_ID
# Github Profile
VITE_GITHUB_PROFILE=YOUR_GITHUB_PROFILE_LINK
# Backend Url
VITE_BASE_URL=SERVER_ENDPOINT
Configure Backend Env
Rename the .env.example file to .env and fill all env
#Port
PORT=YOUR_PORT
JOSE_SECRET=YOUR_BASE_64_SECRET # Ex- hK6g/zwgbekCwn651TB3ljbr7u4KpTc=
MONGODB_CONN_URI=YOUR_MONGODB_CONNECTION_URI
CORD_ORIGIN=YOUR_WHITE_LISTED_ORIGINS
Running the Project
npm run dev
Open http://localhost:PORT in your browser to view the project.