https://github.com/michaelfromyeg/are-you-taking
Find overlap in your schedules, with ease!
https://github.com/michaelfromyeg/are-you-taking
calendar course-schedules ical
Last synced: 3 months ago
JSON representation
Find overlap in your schedules, with ease!
- Host: GitHub
- URL: https://github.com/michaelfromyeg/are-you-taking
- Owner: michaelfromyeg
- License: mit
- Created: 2021-08-21T19:25:44.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-11-04T01:37:12.000Z (over 3 years ago)
- Last Synced: 2025-02-08T12:14:02.086Z (5 months ago)
- Topics: calendar, course-schedules, ical
- Language: JavaScript
- Homepage:
- Size: 655 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Are You Taking (AYT) 📅🤔
![]()
Are You Taking (AYT) is the world's first anti-scheduling application. It allows users to find courses they are taking with their friends easily!
## Overview 🔍
A calendar application inspired by the experiences of fellow UBC students. It allows users to upload their course schedule or Google Calendar as an `.ics` file and share a custom calendar URL with friends. It's then easily to view course overlap and figure out who to study with.
In the future we hope to support different calendar sources and support calendar editing with the application itself.
## Features 👇
* Upload your calendar `.ics` file
* Share your calendar with friends
* Compare your calendars
* Toggle displayed users### Homepage 🏠
This is the homepage, structured a bit like when2meet.
![]()
### Share 📤
This page pops up after a calendar upload.
![]()
## Tech Stack ⌨️
* **Client:** JavaScript (React), Next, Sass, react-big-calendar, react-bootstrap
* **Server:** Python (Flask), CockroachDB, Docker, Google Cloud Platform## Run Locally
Here are instructions to run the project locally.
### Run Client
You'll need the following prerequisite applications on your machine.
* `npm`, `npm --version >= 6.14.15`
To get started with the client application,
1. `cd client`
2. `npm ci && npm t`(The tests should be passing.)
3. `npm run dev`
(You should see the server be spun up.)
Head to [`localhost:3000`](http://localhost:3000) (or whatever the URL spit out by `next` is) and start developing!
### Run Server
You'll need the following prerequisite applications on your machine.
* `python`, `python --version >= 3.8.10`
* `pip`, `pip --version >= 21.1.3`Begin by creating a virtual environment.
1. `python -m venv env`
2. `source env/bin/activate`
3. `pip install -r requirements.txt`
4. `pip freeze > requirements.txt`
5. `python -m unittest -v`(The tests should pass!)
6. `python main.py`
(The server will now start!)
Open the server to see a simple hello-world response. For example,
```shellscript
$ curl http://172.20.224.196:8080/
> are-you-taking is live!
```### Run CockroachDB with Docker
You may want to spin up a local CockroachDB instance. To do so,
```shellscript
docker network create -d bridge cockroachdb_net
docker run -d \
--hostname=node \
--name=node \
-p 26257:26257 -p 8080:8080 \
--net=cockroachdb_net \
-v "data:/cockroach/cockroach-data" \
cockroachdb/cockroach:latest start \
--join=node, \
--insecure
```In our case, we just used a dummy cluster for testing; that was more than enough (and free). Either alternative is fine.
With the client, server, and database configured, you're now ready to begin development!
## Authors 🧑💻👩💻
* [@michaeldemarco](https://github.com/michaelfromyeg)
* [@benvinnick](https://github.com/bonvee-99)## Notes
Any development notes.
### CockroachDB
Here are the steps needed to install CockroachDB. Note the password is missing.
```shellscript
curl https://binaries.cockroachdb.com/cockroach-v21.1.7.linux-amd64.tgz | tar -xz; sudo cp -i cockroach-v21.1.7.linux-amd64/cockroach /usr/local/bin/
curl --create-dirs -o $HOME/.postgresql/root.crt -O https://cockroachlabs.cloud/clusters/bc87538b-7a2f-42d4-a7b8-8849964ec9ac/cert
cockroach sql --url 'postgresql://michael:@free-tier.gcp-us-central1.cockroachlabs.cloud:26257/defaultdb?sslmode=verify-full&sslrootcert='$HOME'/.postgresql/root.crt&options=--cluster%3Dvalid-baboon-3069'
```## Contributing
TODO!