By: Ashley Lin, Luke Lin, and Gloria Kao
This website integrates Google Calendar and uses GPT-4o-mini to help your group create a project timeline and schedule meetings.
The Project Scheduler consists of two main parts: the frontend and the backend.
The frontend is a React application located in the my-app directory. It includes components for displaying a timeline of events, scheduling meetings, generating schedules, and interacting with an AI assistant.
The backend is an Express server located in the BACKEND directory. It handles authentication with Google Calendar, fetching and updating events, and generating schedules using the OpenAI API.
- Node.js and npm installed on your machine.
- A Google Cloud project with the Google Calendar API enabled.
- OpenAI API key.
- Go to the Google Cloud Console.
- Create a new project or select an existing project.
- Enable the Google Calendar API for your project.
- Create OAuth 2.0 credentials:
- Go to the "Credentials" page.
- Click "Create Credentials" and select "OAuth 2.0 Client IDs".
- Configure the consent screen if prompted.
- Set the application type to "Web application".
- Add
http://localhost:3000to the "Authorized JavaScript origins". - Add
http://localhost:3001/oauth2callbackto the "Authorized redirect URIs". - Click "Create" and download the
credentials.jsonfile.
- Place the
credentials.jsonfile in theBACKENDdirectory.
-
Clone the repository:
git clone https://github.com/ashylin/lign167-final.git cd lign167-final -
Install dependencies for both frontend and backend:
cd my-app npm install cd ../BACKEND npm install
-
Set up environment variables:
- Create a
.envfile in theBACKENDdirectory with the following content:OPEN_AI_API_KEY=your-openai-api-key
- Create a
-
Run the backend server:
cd BACKEND node main.js -
Run the frontend application:
cd my-app npm start -
Open your browser and navigate to
http://localhost:3000to use the Project Scheduler.