This project is a Task Management & Collaboration Tool built using the T3 Stack. It offers a modern user-friendly interface for efficient task creation, assignment, and tracking, complemented by robust user profile management and an insightful dashboard.
- Next.js (T3 Stack) - Core framework for React-based frontend
- Supabase - Database and authentication
- TypeScript - Type safety and improved developer experience
- TailwindCSS - For fast and flexible styling
- PrismaORM - Database ORM for efficient queries and migrations
- Lucid-react - For advanced UI components
- shadcn - Customizable UI components with accessibility
- SST (Serverless Stack) - For serverless infrastructure management
- GitHub Actions - CI/CD pipeline for deployment automation
- AWS - Hosting and serverless backend
- React Hooks - For state and logic management in components
/ ── src
├── app
├── components
├── hooks
├── lib
├── pages
├── public
├── styles
├── utils
├── prisma
└── tests
components/
: shadcn UI Componentshooks/
: Custom React hooks for shared logiclib/
: Utility functions and servicespages/
: Traditional Next.js pages structure (e.g.,/home
,/tasks
,/profile
)src/
: Reusable UI components and Custom React hooks for shared logicpublic/
: Static assets such as images and iconsstyles/
: Global and component-specific stylingutils/
: General-purpose utility functionsprisma/
: Prisma schema and migration filestests/
: Test cases for application logic and components
- Node.js (v18+)
- NPM or Yarn
- Supabase account
- AWS account
- Clone the repository:
git clone https://github.com/remeezsanik/project-management-app.git cd ProjectManagementApp
- Install dependencies:
npm install
- Create an
.env
file in the root directory and add the following keys:NEXT_PUBLIC_SUPABASE_URL=your-supabase-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key DATABASE_URL=your-database-url AWS_ACCESS_KEY_ID=your-aws-access-key-id AWS_SECRET_ACCESS_KEY=your-aws-secret-access-key
- Run Prisma migrations:
npx prisma db push
- Start the development server:
npm run dev
- Visit http://localhost:3000
Testing is implemented using Jest and React Testing Library.
- Run unit tests:
npm run test
- Run end-to-end tests:
npm run test:e2e
Deployment is automated using GitHub Actions and SST for serverless deployment to AWS.
- Configure AWS credentials in your GitHub repository's Secrets.
- Add
.github/workflows/deploy.yml
with the following content:
name: Deploy to AWS
env:
AWS_REGION: your-aws-region
ojobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Dependencies
run: npm install
- name: Deploy to AWS
run: npx sst deploy
- Commit and push your changes. The deployment will trigger automatically.
- 👨💻 REMEEZ SANIK - 🔗 GitHub