A full-stack task management application built with the T3 stack (Next.js, TypeScript, tRPC, Prisma, NextAuth.js, and Tailwind CSS). This project demonstrates modern web development practices and provides a complete solution for team collaboration and project management.
- Project Management: Create and manage projects with team collaboration
- Task Management: Create, assign, and track tasks with priorities and deadlines
- User Profiles: Manage personal information and preferences
- Real-time Collaboration: Comment on tasks and collaborate with team members
- Dashboard: Overview of projects, tasks, deadlines, and team activities
- Authentication: Secure email/password and OAuth authentication
- Responsive Design: Modern UI that works on desktop and mobile devices
- Frontend: Next.js 14, TypeScript, Tailwind CSS
- Backend: tRPC, NextAuth.js
- Database: PostgreSQL with Prisma ORM
- Authentication: NextAuth.js with email/password and OAuth providers
- UI Components: Headless UI, Heroicons
- Deployment: Ready for AWS deployment with SST (Serverless Stack)
- Node.js 18+ and npm
- PostgreSQL database
- Git
git clone <repository-url>
cd easyslr
npm install
Copy the environment template and configure your variables:
cp .env.example .env
Update the .env
file with your configuration:
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/taskcollab"
# Next Auth
NEXTAUTH_SECRET="your-nextauth-secret-here"
NEXTAUTH_URL="http://localhost:3000"
# OAuth Providers (Optional)
DISCORD_CLIENT_ID=""
DISCORD_CLIENT_SECRET=""
# Supabase (Optional)
NEXT_PUBLIC_SUPABASE_URL=""
NEXT_PUBLIC_SUPABASE_ANON_KEY=""
Generate Prisma client and run migrations:
npx prisma generate
npx prisma db push
npm run dev
The application will be available at http://localhost:3000
.
- Sign Up/Sign In: Create an account or sign in with your credentials
- Create a Project: Start by creating your first project
- Add Team Members: Invite team members to your project
- Create Tasks: Add tasks with descriptions, priorities, and deadlines
- Assign Tasks: Assign tasks to team members
- Track Progress: Monitor task progress and update statuses
- Collaborate: Use comments to discuss tasks with team members
- Dashboard (
/dashboard
): Overview of all projects and tasks - Projects (
/projects
): Manage projects and view project details - Tasks (
/tasks
): View and manage all tasks - Profile (
/profile
): Update personal information and preferences
The application uses the following main entities:
- User: User accounts with profile information
- Project: Projects with team members and settings
- Task: Tasks with assignments, priorities, and deadlines
- Tag: Categorization tags for tasks
- Comment: Task comments for collaboration
The application uses tRPC for type-safe API routes:
api.project.*
: Project management operationsapi.task.*
: Task management operationsapi.user.*
: User profile operationsapi.tag.*
: Tag management operations
Run the test suite:
npm test
The project includes unit tests for:
- Database operations
- tRPC procedures
- Utility functions
- Component logic
- Install SST:
npm install -g sst
- Configure AWS credentials
- Deploy to AWS:
sst deploy
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
For production deployment:
npx prisma migrate deploy
- Next.js with TypeScript for the React framework
- Tailwind CSS for styling
- tRPC for type-safe API communication
- NextAuth.js for authentication
- tRPC for API layer
- Prisma for database ORM
- PostgreSQL for data storage
- NextAuth.js for session management
- Database schema changes via Prisma migrations
- Type-safe API development with tRPC
- Component development with TypeScript
- Testing with Jest/Testing Library
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature
- Make your changes and add tests
- Commit your changes:
git commit -am 'Add new feature'
- Push to the branch:
git push origin feature/new-feature
- Submit a pull request
This project is open source and available under the MIT License.
- T3 Stack for the excellent development stack
- Tailwind UI for design inspiration
- Heroicons for the beautiful icons
Built with ❤️ using the T3 Stack