A simple web application that allows users to view their Google Calendar events in a beautiful calendar interface.
- Google Calendar Integration
- Beautiful Calendar UI using FullCalendar
- Secure Authentication with Google OAuth 2.0
- Session Management with Redis
- Responsive Design
- Node.js >= 18.0.0
- Redis Server
- Google Cloud Console Project with Calendar API enabled
-
Clone the repository:
git clone <your-repo-url> cd calendar-viewer
-
Install dependencies:
npm install
-
Set up Google OAuth:
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the Google Calendar API
- Create OAuth 2.0 credentials
- Add authorized redirect URI:
http://localhost:3000/auth/google/callback
-
Configure environment variables:
- Copy
.env.example
to.env
- Update the values with your credentials:
GOOGLE_CLIENT_ID=your-client-id GOOGLE_CLIENT_SECRET=your-client-secret GOOGLE_REDIRECT_URI=http://localhost:3000/auth/google/callback SESSION_SECRET=your-secret-key REDIS_URL=your-redis-url
- Copy
-
Start Redis Server:
redis-server
-
Start the application:
npm start
-
Open http://localhost:3000 in your browser
- Click "Sign in with Google Calendar" to authenticate
- View your calendar events in the calendar interface
- Click on events to view details
- Use the calendar navigation to view different time periods
- Click "Sign Out" to logout
- The application uses Express.js for the backend
- Frontend is built with vanilla JavaScript and FullCalendar
- Redis is used for session storage
- Google Calendar API is used to fetch events
ISC