https://github.com/rbbydotdev/someday Skip to content Navigation Menu Toggle navigation Sign in * Product + GitHub Copilot Write better code with AI + Security Find and fix vulnerabilities + Actions Automate any workflow + Codespaces Instant dev environments + Issues Plan and track work + Code Review Manage code changes + Discussions Collaborate outside of code + Code Search Find more, search less Explore + All features + Documentation + GitHub Skills + Blog * Solutions By company size + Enterprises + Small and medium teams + Startups By use case + DevSecOps + DevOps + CI/CD + View all use cases By industry + Healthcare + Financial services + Manufacturing + Government + View all industries View all solutions * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} rbbydotdev / someday Public * Notifications You must be signed in to change notification settings * Fork 10 * Star 496 Free and open-source cal.com / calendly alternative built on Google-Apps-Script for Gmail users. Built with modern technologies like React, TypeScript, Shadcn/UI, and Vite. https:// someday-demo.vercel.app 496 stars 10 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights rbbydotdev/someday master BranchesTags [ ] Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 12 Commits backend backend frontend frontend .claspignore .claspignore .gitignore .gitignore .prettierrc .prettierrc README.md README.md appsscript.json appsscript.json build.sh build.sh deploy.sh deploy.sh deployments.sh deployments.sh dummydata.sh dummydata.sh package-lock.json package-lock.json package.json package.json screencap1.jpg screencap1.jpg screencap2.jpg screencap2.jpg undeployall.sh undeployall.sh View all files Repository files navigation * README Someday Free and open-source cal.com / calendly alternative built on Google-Apps-Script for Gmail users. [screencap1] Demo https://someday-demo.vercel.app/ What is Someday? Someday is a simple, open-source scheduling tool designed specifically for Gmail users. Uses Google Apps Scripts to host and clasp to manage. Built with modern technologies like React, TypeScript, Shadcn/UI, and Vite. A simple alternative to traditional scheduling apps like Calendly. Key Features * Free and Open Source: Enjoy all the premium scheduling features without any cost. Someday is completely free to use and open for contributions. * Effortless Integration: Designed as a Google Apps Script, Someday integrates seamlessly with your Gmail, making it easy to manage your schedule directly from your inbox. * Developer-Friendly: Built with modern, developer-preferred technologies, Someday is easy to customize and extend to meet your specific needs. * Customizable Work Hours: Set your availability with precision, allowing others to book time slots that fit your schedule perfectly. * Simple Booking Process: Users can select a date and time slot, then fill out a straightforward form with their name, email, phone, and an optional note. * Privacy First: No data sharing beyond google to 3rd party apps Getting Started Customize Change the following variables in backend/src/app.ts to customize your availability settings: // backend/src/app.ts const CALENDAR = "primary"; const TIME_ZONE = "America/New_York"; const WORKDAYS = [1, 2, 3, 4, 5]; const WORKHOURS = { start: 9, end: 13, }; const TIMESLOT_DURATION = 30; Develop * cd ./frontend * npm install * npm run dev * update dummyData by running ./dummydata.sh Install Step 1: Set Up Your Environment you may need to sign out of all accounts, and only into your target account 1. Install clasp: + Ensure you have Node.js installed. + Install clasp globally using npm: npm install -g @google/clasp 2. Login with clasp: + Execute the following command to log in: clasp login 3. Remove Existing Configuration (if necessary): + If you encounter issues, remove the existing .clasp.json file: rm .clasp.json 4. Enable Apps Script API: + Visit Google Apps Script API settings. + Enable the Apps Script API. + Wait a few minutes for the changes to propagate. Step 2: Create and Deploy the Script 1. Create a New Project: + Create a new Apps Script project as a web app: clasp create --type webapp 2. Deploy the Script: + Use the following command to deploy your script: npm run deploy 3. Access the Web App: + Visit the URL provided after deployment. + You will see the message "Authorization is required to perform that action." 4. Authorize the Web App: (!!! IMPORTANT !!!) + run clasp open to open the editor + go to dist/app.gs + in the drop down at the top, select fetchAvailability then hit run + Authorization modal will pop up, 'Review permissions', select your account, you will see a warning, go to advanced, then Go to (unsafe) then click Allow + if it worked, refresh the page/editor then run the function again and it should complete without issue. Cheat Sheet * npm run deploy - build and delpoy * npm run build - build only, follow with clasp push to push changes * undeployall.sh - undeploy all versions of the script * deployments.sh - list all deployments web-urls * clasp open - open the script editor Screen Captures [screencap1] [screencap2] Contributing Open a pull request or issue to contribute to Someday. welcoming all contributions, including bug fixes, feature requests, and documentation improvements. License MIT About Free and open-source cal.com / calendly alternative built on Google-Apps-Script for Gmail users. Built with modern technologies like React, TypeScript, Shadcn/UI, and Vite. https:// someday-demo.vercel.app Topics react typescript scheduling google-app-script vite shadcn-ui Resources Readme Activity Stars 496 stars Watchers 1 watching Forks 10 forks Report repository Releases No releases published Packages 0 No packages published Languages * TypeScript 87.0% * CSS 6.0% * JavaScript 3.7% * Shell 2.4% * HTML 0.9% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.