-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Written General and End User Documentation Centralized calendar #17
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
{ | ||
"index": { | ||
"title": "Overview" | ||
}, | ||
"end-user": { | ||
"title": "End User Guide" | ||
}, | ||
"---": { | ||
"type": "separator" | ||
}, | ||
"-- Technical Documentation": { | ||
"type": "separator", | ||
"title": "Technical Documentation" | ||
}, | ||
"getting-started": { | ||
"title": "Getting Started" | ||
}, | ||
"api-reference": { | ||
"title": "API Reference" | ||
}, | ||
"architecture": { | ||
"title": "Architecture" | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import { Steps, Callout } from "nextra/components"; | ||
|
||
# API Reference |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
import { Steps, Callout } from "nextra/components"; | ||
|
||
# Architecture | ||
|
||
{/* Include details on application architecture and decisions such as only updating future events. */} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
import { Callout } from "nextra/components"; | ||
|
||
# End User Guide | ||
|
||
<Callout type="info"> | ||
This page is intended for members of other ICS organization to provide information on how to | ||
participate in the ics-centralized-calendar project. | ||
</Callout> | ||
|
||
{/* Include a breif introduction of what is Centralized Calendar Project is and steps to get a the required Google Calendar URL. */} | ||
|
||
## Introduction | ||
|
||
The `ics-centralized-calendar` project is an easy to use API meant to provide centralized access to all ICS calendars, offering options for selecting specific clubs and output formats (ICS or JSON). | ||
|
||
## Steps to Add Your Google Calendar URL | ||
|
||
To participate in the ics-centralized-calendar project, follow these steps to share your Google Calendar URL: | ||
|
||
1. **Open Google Calendar:** | ||
|
||
- Go to [Google Calendar](https://calendar.google.com). | ||
|
||
2. **Access Calendar Settings:** | ||
|
||
- On the left sidebar, hover over the calendar you want to share. | ||
- Click on the three vertical dots that appear and select "Settings and sharing." | ||
|
||
3. **Get the Shareable Link:** | ||
|
||
- Scroll down to the "Access permissions for events" section. | ||
- Check the box that says "Make available to public." | ||
- Scroll further down to the "Integrate calendar" section. | ||
- Copy the "Public address in iCal format" link. | ||
|
||
4. **Submit Your Calendar Link:** | ||
- Send the copied calendar link to our project team leads ([Alex](https://github.com/alexanderl19), [Eddy](https://github.com/ecxyzzy)). | ||
Comment on lines
+20
to
+37
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use built-in steps component. |
||
|
||
<Callout type="tip"> | ||
Remember to make sure your calendar is set to public so that we can access and integrate your | ||
events. | ||
</Callout> | ||
|
||
{/* Include a breif FAQ with information on how event updates work. */} | ||
|
||
## FAQ | ||
|
||
### How do event updates work? | ||
|
||
Once your calendar link is submitted and integrated into the ics-centralized-calendar, your events will be automatically updated every 6 hours. This ensures that any new events or changes to existing events that have not happened yet are reflected in the ics-centralized-calendar quickly. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that saying the repo name "ics-centralized-calendar" becomes wordy quickly. What are you thoughts on phrasing along the times of "integrated into our calendar system"? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is specifying the exact time period too specific. I'm worried that this information can become quickly out of date. Also as a separate question, was there a reason we settled on 6 hours? That seems like a very long period to me. Maybe something like "... your events will be updated automatically. Updates may take up to x hours to reflect on our end." adds more clarity? |
||
|
||
### What event information is required? | ||
|
||
Every event should have the following fields for best clarity and organization, these fields are usually required by default when creating an event in Google Calendar: | ||
|
||
- **Title:** A clear description of the event. | ||
- **Date and Time:** A start and end time that is input through the google calendar GUI. | ||
- **Description:** Include details such as location, agenda, and contact information. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we not use the location field on the event? If so this should be reflected here. If not, I feel like this might be a small oversight. |
||
|
||
### How can I make changes to my events? | ||
|
||
Simply update your events in your Google Calendar. The changes will be reflected in the ics-centralized-calendar during the next update cycle. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Potentially use the same very explicit wording as before, indicating that changes may take up to x to reflect. |
||
|
||
### How do I change or remove my club's calendar from the centralized calendar? | ||
|
||
Contact our project leads([Alex](https://github.com/alexanderl19), [Eddy](https://github.com/ecxyzzy)) to change or remove your calendar URL from the ics-centralized-calendar. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
### Who do I contact for support? | ||
|
||
If you have any questions or need assistance, contact our project leads ([Alex](https://github.com/alexanderl19), [Eddy](https://github.com/ecxyzzy)). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
<Callout type="info"> | ||
By participating in the ics-centralized-calendar project, you help create a more organized and | ||
informed ICS community. Thank you for your contribution! | ||
</Callout> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
import { Steps, Callout } from "nextra/components"; | ||
|
||
# Getting Started | ||
|
||
<Callout type="error"> | ||
This project is currently private, and only available to ICSSC Projects internal members. | ||
</Callout> | ||
|
||
## Setup | ||
|
||
<Steps> | ||
### Clone Repository | ||
|
||
```bash | ||
git clone https://github.com/icssc/ics-centralized-calendar.git | ||
cd corporate-dashboard | ||
``` | ||
|
||
### Install Dependencies | ||
|
||
<Callout type="warning"> | ||
This project uses pnpm. Use pnpm to install dependencies to avoid mismatching lockfiles. | ||
</Callout> | ||
|
||
```bash | ||
pnpm install | ||
``` | ||
|
||
### Setup IAM Credentials _Optional_ | ||
|
||
This is an optional step only available for ICSSC Projects internal members. If this is your first time setting up an ICSSC project using SST, request credentials from your project lead. If you've already set up IAM Credentials for another ICSSC project, this step is not necessary. | ||
|
||
``` | ||
[default] | ||
aws_access_key_id = <YOUR_ACCESS_KEY_ID> | ||
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY> | ||
``` | ||
|
||
### Setup postgres environment variable | ||
|
||
You can request database credentials from you project lead or you can just create your own database server on your local machine for local development purposes. Whichever you choose, you will need to set the `DATABASE_URL` environment variable in a `.env` file in the root of the project. The `.env` file should look like this: | ||
|
||
``` | ||
DATABASE_URL=postgres://yourusername:yourpassword@localhost:5432/calendar | ||
``` | ||
|
||
</Steps> | ||
|
||
## Commands | ||
|
||
### Dev | ||
|
||
#### With SST | ||
|
||
```bash | ||
pnpm dev | ||
``` | ||
|
||
#### Without SST | ||
|
||
```bash | ||
pnpm exec next dev | ||
``` | ||
|
||
### Build | ||
|
||
```bash | ||
pnpm build | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Centralized Calendar | ||
|
||
The ics-centralized-calendar project is designed to enhance collaboration and cohesiveness within the ICS community. It is an API that aggregates calendar information from participating ICS clubs and provides easy access to events in both ICS and JSON formats. | ||
|
||
## Goals | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also better publicize ICS club events |
||
- **Foster Community:** Strengthen the sense of community within ICS. | ||
- **Enhance Cohesiveness:** Promote transparency and cooperation between clubs. | ||
- **Inform Students:** Provide ICS students with clear and accessible information about club events. | ||
- **Streamline Event Viewing:** Simplify the process of viewing events from each club. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think approaching this introduction from a more project / goal oriented mindset might be more suitable for this page.
Something that covers:
I don't think explaining that this project is an API is necessarily useful for the target audience of this doc (other clubs).