This project is a Basic Tutor Calendar System that allows users to manage their schedules and integrates with Google Calendar. The system includes features for viewing, creating, updating, and deleting events. It demonstrates skills in handling third-party API integrations, creating intuitive user interfaces, and developing backend functionalities.
-
Calendar View: An interactive calendar view displaying the user's schedule. Users can click on dates and time slots to view and manage appointments. Event creation can be triggered by clicking anywhere on the calendar.
-
Event Creation: A form that opens in a pop-up for users to create events with the following fields:
- Event title
- Description
- List of participants
- Date (dd-mm-yyyy)
- Time (12hr format)
- Duration in hours
- Session Notes
-
Validation: The form includes validation for required fields and proper data formats.
- Google Calendar Sync: Integrate with the Google Calendar API to sync events. Users can authorize the application to access their Google Calendar and manage events.
- Node.js: JavaScript runtime environment.
- Express.js: Web framework for Node.js.
- MongoDB: NoSQL database for storing event data.
- Google APIs: For Google Calendar integration.
- dotenv: Module to load environment variables.
- React.js: JavaScript library for building user interfaces.
- Chakra UI: Component library for React.js.
- FullCalendar: JavaScript calendar library for creating interactive calendars.
- Node.js and npm installed
- MongoDB installed and running
- Google Cloud Project with Calendar API enabled
- Google OAuth 2.0 credentials (Client ID and Client Secret)
- Clone the repository:
git clone https://github.com/your-username/tutor-calendar-system.git cd tutor-calendar-system
``
-
Navigate to the backend directory:
bash cd backend
-
Install dependencies::
bash npm install
-
Create a .env file and add the following environment variables:
bash PORT=5000 MONGO_URI=your_mongodb_uri GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GOOGLE_REDIRECT_URI=your_redirect_uri
-
Start the backend server:
bash npm run server
-
Navigate to the frontend directory:
cd frontend Install dependencies:
-
Navigate to the backend directory:
bash cd backend
-
Install dependencies::
bash npm install
-
Start the backend server:
bash npm start
- Create Event: POST /auth/events
- Get Events: GET /auth/events
- Update Event: PUT /auth/events/:id
- Delete Event: DELETE /auth/events/:id
- Authorize: GET /auth/google
- Callback: GET /auth/google/callback
- Navigate to the frontend application in your browser at http://localhost:3000.
- Sign in with your Google account to authorize the application.
- Use the interactive calendar to view, create, update, and delete events.
- Events will be synced with your Google Calendar.