Skip to content

Radifical/CollegeSchedulerToCalendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📅 Schedule2Calendar

Live Demo

Welcome to Schedule2Calendar! This project is designed to help SUNY (State University of New York) students easily export their schedules to Google Calendar. With just a few clicks, you can manage your academic schedule and ensure you never miss a class or event.

🚀 Features

  • Easy Schedule Import: Quickly import your schedule from various sources.
  • Google Calendar Integration: Export your schedule directly to Google Calendar.
  • Chrome Extension: Extract your schedule from websites using our Chrome extension.

🛠️ Technologies Used

  • Frontend:

    • React
    • Vite
    • Material-UI
    • Tailwind CSS
  • Backend:

    • Node.js
    • Express
    • MongoDB
  • APIs:

    • Google Calendar API
  • Chrome Extension:

    • Chrome

📂 Project Structure

Frontend

The frontend is built using React and Vite, with Material-UI and Tailwind CSS for styling.

Key Files:

  • src/components/Schedule.jsx: Handles schedule fetching and Google Calendar integration.
    startLine: 1
    endLine: 368
  • src/components/Home.jsx: The home page of the application.
    startLine: 1
    endLine: 86
  • src/components/Extension.jsx: Information about the Chrome extension.
    startLine: 1
    endLine: 33
  • src/App.jsx: Main application component with routing.
    startLine: 1
    endLine: 43

Backend

The backend is built using Node.js, Express, and MongoDB.

Key Files:

  • routes/userRoutes.js: Handles user-related routes and operations.
    startLine: 1
    endLine: 100
  • routes/courseRoutes.js: Handles course-related routes and operations.
    startLine: 8
    endLine: 133
  • models/userModel.js: Mongoose schema for user data.
    startLine: 1
    endLine: 19
  • models/course.js: Mongoose schema for course data.
    startLine: 1
    endLine: 25

Chrome Extension

The Chrome extension helps extract schedule data from websites.

Key Files:

  • popup.js: Handles the extension's popup logic.
    startLine: 1
    endLine: 115
    
  • popup.html: The HTML for the extension's popup.
    startLine: 1
    endLine: 175
    
  • manifest.json: Configuration for the Chrome extension.
    startLine: 1
    endLine: 23
    

📦 Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/schedule2calendar.git
    cd schedule2calendar
  2. Install dependencies:

    cd frontend/front
    npm install
    cd ../../backend
    npm install
  3. Run the frontend:

    cd frontend/front
    npm run dev
  4. Run the backend:

    cd backend
    npm start
  5. Load the Chrome extension:

    • Open Chrome and go to chrome://extensions/
    • Enable "Developer mode"
    • Click "Load unpacked" and select the CD Extension folder

📚 Usage

  1. Sign up or log in to the application.
  2. Import your schedule using the Chrome extension or manually.
  3. Export your schedule to Google Calendar with a single click.

📝 License

This project is licensed under the MIT License.

About

Export schedule to google calendar in two clicks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors