calendar.io is designed to help you organize all your Google Calendar events in one place, providing a seamless and efficient way to manage your schedules and appointments.
- Frontend: ReactJS, TailwindCSS
- Backend: NodeJS, ExpressJS
- Database: MongoDB
- Authentication: Google OAuth2.0
- API: Google Calendar API, Google Maps API, Google Gemini API
- npm (Node Package Manager)
- git
- MongoDB
- As my google OAuth is not verified,on the deployed link it only lets test users log in, so if you want to use the deployed version of this app, then mail me your email at
[email protected]
, I will add that in the test users.
-
Clone this repository:
git clone https://github.com/syedali237/calendar.io
-
Navigate to the backend directory and install dependencies:
cd backend npm install
-
Navigate to the frontend directory and install dependencies:
cd ../frontend npm install
-
Go to Google Cloud Console.
-
Enable the Google Calendar API on your account and set up a Google OAuth2.0 Client ID.
-
Add Test User Emails through which you want to access the app.
-
Obtain the JSON credentials.
-
Obtain the Google Maps API Key and Google Gemini API Key.
-
If you want to test the Contact Us service then setup the EmailJS & obtain the credentials necessary. (optional)
-
Since running locally, go to frontend/src/api.ts and comment out the other baseUrl line as :
const api = axios.create({
baseURL: "http://localhost:8000/",
// baseURL: "https://test-repo-umuy.onrender.com/",
});
Create a .env
file in the backend
directory with the following content:
PORT=8000
GOOGLE_CLIENT_ID='YOUR_GOOGLE_CLIENT_ID'
GOOGLE_CLIENT_SECRET='YOUR_GOOGLE_CLIENT_SECRET'
JWT_SECRET=secret
JWT_TIMEOUT=2h
MONGO_URI=mongodb://127.0.0.1:27017/google-login
REDIRECT_URI=http://localhost:8000/auth/google/callback
Create a .env
file in the frontend
directory with the following content:
VITE_GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID
VITE_SERVICE_EMAILJS=YOUR_SERVICE_ID_EMAILJS
VITE_TEMPLATE_EMAILJS=YOUR_TEMPLATE_ID_EMAILJS
VITE_PUBLIC_KEY=YOUR_PUBLIC_KEY_EMAILJS
VITE_GEMINI_API_KEY=YOUR_GOOGLE_GEMINI_API_KEY
VITE_GOOGLE_MAPS_API_KEY=YOUR_GOOGLE_MAPS_API_KEY
After completing the setup, follow these steps to start the application:
- Navigate to the frontend directory and start the client:
cd frontend npm run dev
- Navigate to the backend directory and start the server:
cd ../backend npm start
Screen.Recording.2025-01-23.at.8.47.06.PM.mov
Screen.Recording.2025-01-23.at.8.49.29.PM.mov
The Google SSO functionality may not work on the deployed site as the OAuth, Calendar API Verification Process was not completed due to time constraints. Instead, I am using test users to run it locally.
This project is licensed under the MIT License. See the LICENSE file for details.
Enjoy using calendar.io to streamline your Google Calendar events!