A Progressive Web Application (PWA) built with Next.js that helps users manage tasks and emotional well-being through mood tracking and personalized toolkits.
- Mood Tracking: Interactive 3D visualization for tracking emotional states
- Personal Toolkit: Customizable collection of coping strategies and resources
- Task Management: Priority-based task organization
- Insights: Data visualization of mood patterns and toolkit usage
- PWA Support: Installable on mobile devices with offline capabilities
- Next.js 15
- React 19
- TypeScript
- TailwindCSS
- RxDB for offline-first data storage
- Plotly.js for 3D visualizations
- Jest for testing
- Serwist for PWA capabilities
- Node.js (Latest LTS version recommended)
- npm or yarn
- Clone the repository:
git clone [repository-url]
cd things-we-do
- Install dependencies:
npm install
# or
yarn install
- Run the development server:
npm run dev
# or
yarn dev
- Open http://localhost:3000 in your browser
npm run dev
: Start development servernpm run build
: Build for productionnpm run start
: Start production servernpm run lint
: Run ESLintnpm run test
: Run Jest testsnpm run test:watch
: Run Jest in watch mode
src/
├── app/ # Next.js app router pages
├── components/ # Reusable components
├── context/ # React context providers
├── lib/ # Utilities and database logic
├── styles/ # Global styles
└── ui/ # UI components
The project uses Jest and React Testing Library for testing. Tests are located in the __tests__
directory.
Run tests with:
npm run test
- Create a feature branch
- Make your changes
- Run tests and ensure they pass
- Submit a pull request using the provided PR template