Find the perfect time for everyone
About • Documentation • Features • Tech Stack • Usage • API Routes • Project Structure • Contributing • License
InMyTime is a collaborative scheduling and polling application built with Next.js (App Router) and MongoDB.
Users can create polls, propose multiple time slots, share links, and collect votes.
The system aggregates availability to highlight the best meeting times for everyone.
Realtime updates are powered by Ably.
The project's detailed presentation, roadmap, and core concepts are available in the dedicated documentation file.
- Project Presentation: View the full presentation in PDF format here.
- Create polls with multiple time slots
- Anonymous voting (no login required)
- Aggregated availability calculation
- Shareable poll links
- Live results visualization with realtime updates (Ably)
- Modern UI with Tailwind + Framer Motion
- CI/CD integration with GitHub Actions
- Create a poll with a title and time slots
- Share the unique poll link with participants
- Collect votes anonymously
- Finalize the poll to confirm the chosen time
- POST /api/polls — Create a new poll
- GET /api/polls/:id — Get poll details by ID
- POST /api/polls/:id/vote — Add a vote to a specific slot
- POST /api/polls/:id/finalize — Finalize a poll
in_my_time/
├── app/ # Next.js App Router pages & API routes
│ ├── api/ # Backend API endpoints (polls, votes, etc.)
│ └── components/ # Reusable UI components
├── lib/ # Utility functions (date ranges, slot generation, etc.)
├── tests/ # Unit & integration tests
│ ├── unit/ # Utility and component tests
│ └── integration/ # API and model tests
├── public/ # Static assets (images, icons)
├── package.json # Dependencies and scripts
└── README.md # Project documentation
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License — see the LICENSE file for details.
Made with ❤️ for better scheduling