https://github.com/riteek712/taskmanager-turborepo
TaskFlow is a task management app built with Next.js, Nest.js, PostgreSQL, and Prisma ORM. It features task creation and management, real-time updates, user authentication, and Swagger API documentation. The app offers a clean Tailwind CSS frontend and a scalable backend, making task management seamless and efficient.
https://github.com/riteek712/taskmanager-turborepo
monorepo nestjs nextjs nodejs postgresql prisma-orm rest-api shadcn-ui swagger-api tailwindcss turborepo typescript
Last synced: 3 months ago
JSON representation
TaskFlow is a task management app built with Next.js, Nest.js, PostgreSQL, and Prisma ORM. It features task creation and management, real-time updates, user authentication, and Swagger API documentation. The app offers a clean Tailwind CSS frontend and a scalable backend, making task management seamless and efficient.
- Host: GitHub
- URL: https://github.com/riteek712/taskmanager-turborepo
- Owner: Riteek712
- Created: 2025-01-11T13:34:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-03T13:11:21.000Z (over 1 year ago)
- Last Synced: 2025-03-12T09:16:10.329Z (over 1 year ago)
- Topics: monorepo, nestjs, nextjs, nodejs, postgresql, prisma-orm, rest-api, shadcn-ui, swagger-api, tailwindcss, turborepo, typescript
- Language: TypeScript
- Homepage:
- Size: 1.13 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TaskFlow - Task Management System
A modern task management system built with Next.js, Nest.js, and Prisma using Turborepo and pnpm for monorepo management.

## Tech Stack
### Frontend
- Next.js 14
- TypeScript
- Tailwind CSS
- Shadcn/ui
### Backend
- Nest.js
- Prisma ORM
- PostgreSQL
### Development Tools
- Turborepo
- pnpm
- ESLint
- Prettier
## Prerequisites
Before you begin, ensure you have installed:
- Node.js (v18 or higher)
- pnpm (`npm install -g pnpm`)
- PostgreSQL
## Project Structure
```
taskmanager-turborepo/
├── apps/
│ ├── web/ # Next.js frontend
│ └── backend/ # Nest.js backend
├── packages/
│ ├── eslint-config/
│ ├── typescript-config/
│ └── ui/ # Shared UI components
├── turbo.json
├── projectscreens/ # Screenshots of all pages
└── package.json
```
## Project Screenshots
The `ProjectScreens` folder contains screenshots of all pages in the application. You can find:
- Landing page (heroTM.png)
- Authentication pages
- Dashboard views
- Task management interfaces
These screenshots provide a visual reference for the application's UI and can be helpful for development and documentation purposes.
## Getting Started
1. Clone the repository
```bash
git clone https://github.com/Riteek712/taskmanager-turborepo
cd taskmanager-turborepo
```
2. Install dependencies
```bash
pnpm install
```
3. Set up environment variables
Create `.env` files in both the backend directories:
For `apps/backend/.env`:
```env
DATABASE_URL="postgresql://username:password@localhost:5432/taskflow"
JWT_SECRET="your-secret-key"
```
4. Set up the database
```bash
cd apps/backend
pnpm prisma generate
pnpm prisma migrate dev
```
5. Start the development servers
```bash
# From the root directory
pnpm dev
```
This will start:
- Frontend at http://localhost:3000
- Backend at http://localhost:3003
## Available Scripts
From the root directory:
```bash
pnpm build # Build all applications
pnpm run dev # Start all applications in development mode
pnpm lint # Run ESLint across all applications
pnpm format # Format code using Prettier
pnpm test # Run tests across all applications
```
## Database Management
The project uses Prisma ORM with PostgreSQL. To manage your database:
```bash
cd apps/backend
# Generate Prisma Client
pnpm prisma generate
# Create a migration
pnpm prisma migrate dev
```
## Development Guidelines
### Adding Dependencies
To add a dependency to a specific workspace:
```bash
pnpm add --filter
```
Example:
```bash
pnpm add axios --filter web
```
### Creating New Features
1. Create a new branch
```bash
git checkout -b feature/your-feature-name
```
2. Make your changes and commit using conventional commits
```bash
git commit -m "feat: add new feature"
```
3. Push and create a pull request
```bash
git push origin feature/your-feature-name
```
## Contributing
1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Acknowledgments
- Built with love by Riteek Rakesh
- UI Design inspired by modern web applications
- Special thanks to the open source community