MCPcopy Index your code
hub / github.com/anandbaburajan/samay

github.com/anandbaburajan/samay @v2.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.2.0 ↗ · + Follow
65 symbols 177 edges 36 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Samay Logo

<b>
  Samay — free and open source meeting poll tool
</b>

License Polls created: 2500+ Create a poll

Samay banner

Samay is a free and open source meeting poll tool. Quickly find a time which works for everyone without the back-and-forth texts/emails!

Create a poll

Select the time slots (click and drag) based on your availability, and optionally enter the title, description and location. The default poll type is "group" — to find a common time which works for everyone. If you want to have one-on-one meetings (parent-teacher meetings for example), select the "one-on-one" poll type.

Share the poll

Copy and share the poll link with the participants to let them mark their availability. In group polls, participants can either vote [yes] or [if need be] . In one-on-one polls, participants can select their one preferred time. No login required. No time zone confusion since Samay automatically shows participants times in their local time zone.

Book the meeting

In group polls, find the most popular times and see who's free with [yes] votes - or who can be - with [if need be] votes, book the meeting and share the final time with the participants! In one-on-one polls, find who has chosen which time slot for a one-on-one with you!

Create a poll now at Samay.app!

Motivation

After my GSoC '20 at LiberTEM, I wanted to have a video call with my mentors. They said yes, and since the next step was to find a suitable and common time, one of them sent me a link to a meeting poll created using a proprietary online service. It had surprisingly bad UX and was covered with advertisements. I searched for good, free and open source meeting poll tools, but didn't find any. So I decided to fix that problem.

Get in touch

If you have suggestions for how Samay could be improved, please add your thoughts on a relevant discussion here or start a new discussion. If you have any questions, I'd love to hear them too! If you want to report an issue, check if the issue is already opened here otherwise open a new one.

Self-hosting

Docker

Coming soon!

Vercel and MongoDB Atlas

Samay is built with MongoDB and Next.js, so for a quick and free setup, you can use a free MongoDB Atlas cluster and Vercel's hobby plan.

You can get started with MongoDB Atlas for free here. Make sure to add all IP addresses (0.0.0.0/0) to the IP access list of your Atlas cluster since it is not possible to determine the IP addresses of Vercel deployments.

You can get started with Vercel's hobby plan for free:

  1. Fork this repo to your own GitHub account
  2. Go to https://vercel.com/dashboard
  3. Create a new project
  4. Import your forked repository
  5. Set the environment variables (according to the instructions in .env.example)
  6. Deploy

Contributing

Development

First, make sure you have Node.js and MongoDB installed. Then, to develop locally:

  1. Fork this repo to your own GitHub account and then clone it.

sh git clone https://github.com/<your-username>/samay.git

  1. Go to the project folder

sh cd samay

  1. Create a new branch:

sh git checkout -b MY_BRANCH_NAME

  1. Install the dependencies with:

sh npm i

  1. Copy .env.example to .env

sh cp .env.example .env

  1. Set the env variables according to the instructions in the .env file

  2. Start developing and watch for code changes:

sh npm run dev

  1. Please make sure that you can make a full production build before opening a PR. You can build the project with:

sh npm run build

Acknowledgements

Thanks to FOSS United for selecting Samay as one of the winning projects at FOSS Hack 3.0.

Thanks to these amazing projects which help power Samay:

  • React-big-calendar
  • React
  • Next.js
  • Day.js
  • Bootstrap
  • MongoDB
  • Mongoose
  • Inter
  • Cal Sans

License

Samay is distributed under the MIT License.

Extension points exported contracts — how you extend this code

Time (Interface)
(no doc)
src/models/poll.ts
TimeFromDB (Interface)
(no doc)
src/models/poll.ts
Vote (Interface)
(no doc)
src/models/poll.ts
VoteFromDB (Interface)
(no doc)
src/models/poll.ts
Poll (Interface)
(no doc)
src/models/poll.ts

Core symbols most depended-on inside this repo

isTimePresentInPollTimes
called by 8
src/helpers/index.ts
connectToDatabase
called by 5
src/utils/db.ts
httpMethod
called by 5
src/utils/api/server.ts
decrypt
called by 4
src/helpers/index.ts
encrypt
called by 3
src/helpers/index.ts
getPoll
called by 2
src/utils/api/server.ts
deleteVotedPoll
called by 1
pages/recent-polls.tsx
createPoll
called by 1
src/utils/api/server.ts

Shape

Function 57
Interface 8

Languages

TypeScript100%

Modules by API surface

src/models/poll.ts8 symbols
src/helpers/index.ts7 symbols
src/utils/api/server.ts6 symbols
pages/index.tsx4 symbols
src/components/poll/DeletePoll.tsx3 symbols
src/components/SamayRBC.tsx3 symbols
pages/recent-polls.tsx3 symbols
pages/poll/[id].tsx3 symbols
src/components/poll/SubmitTimes.tsx2 symbols
src/components/poll/SubmitFinalTime.tsx2 symbols
src/components/poll/MarkTimesOneOnOne.tsx2 symbols
src/components/poll/MarkTimes.tsx2 symbols

For agents

$ claude mcp add samay \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page