Rewindly is an all-in-one frontend application built with Next.js that powers standups, meetings, and retrospectives for modern teams.
This repository focuses exclusively on the frontend, using a clean separation of UI, logic, and reusable elements.
Rewindly simplifies team communication by offering:
- 📅 Async Daily Standups
- 🧠 Smart Meeting Agendas & Notes
- 🔁 Collaborative Retrospectives
- ⏰ Time-Zone Aware Scheduling
- 🔔 Automated Reminders
- 📊 Team Insights Dashboard
| Tech | Usage |
|---|---|
| Next.js | Framework for SSR and routing |
| TypeScript | Static typing |
| Tailwind CSS | Utility-first styling |
| ESLint + Prettier | Code quality |
| React Hook Form / Yup | Form handling and validation |
| SWR or Axios | Data fetching |
.
├── app/ # Next.js app directory
├── components/
│ ├── ui/ # Presentational components (stateless)
│ └── shared/ # Reusable components like Button, Modal
├── containers/ # Components with state, logic, data fetching
├── public/ # Static assets
├── styles/ # Global CSS (e.g., Tailwind config)
├── types/ # TypeScript interfaces & types
├── utils/ # Utility functions & helpers
├── .env.local # Environment variables (local)
└── README.md
✅ This structure separates concerns for UI, logic, and reusability, encouraging clean, scalable code.
⚙️ Getting Started
Clone the repo and install dependencies:
bash
Copy
Edit
git clone https://github.com/your-username/rewindly-frontend.git
cd rewindly-frontend
npm install
Run the development server:
bash
Copy
Edit
npm run dev
Visit http://localhost:3000 to view the app.
🔐 Environment Variables
Create a .env.local file in the root and add your frontend environment settings:
env
Copy
Edit
NEXT_PUBLIC_API_URL=https://api.rewindly.app
NEXT_PUBLIC_APP_NAME=Rewindly
Use .env.example as a reference if provided.
🧪 Testing
bash
Copy
Edit
npm run test # Runs unit tests
npm run coverage # Generates test coverage report
We use Jest and React Testing Library for a robust testing experience.
🚀 Deployment
We recommend deploying the frontend on Vercel for seamless Next.js integration:
bash
Copy
Edit
vercel
Alternatively, you can build for production:
bash
Copy
Edit
npm run build
npm start
📌 Conventions
Components: Stateless, focused on UI only
Containers: Manage state, data fetching, side effects
Shared: Common components (e.g., Button, Input)
Atomic Design principles guide the component architecture