All Projects → tisuela → CourseCake

tisuela / CourseCake

Licence: MIT license
By serving course 📚 data that is more "edible" 🍰 for developers, we hope CourseCake offers a smooth approach to build useful tools for students.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to CourseCake

fastapi-debug-toolbar
A debug toolbar for FastAPI.
Stars: ✭ 90 (+328.57%)
Mutual labels:  sqlalchemy, graphene, fastapi
quoters
📝 Random quotes generator package. Available on npm and PyPi
Stars: ✭ 17 (-19.05%)
Mutual labels:  scraper, beautifulsoup4, fastapi
fast-api-sqlalchemy-template
Dockerized web application on FastAPI, sqlalchemy1.4, PostgreSQL
Stars: ✭ 25 (+19.05%)
Mutual labels:  sqlalchemy, fastapi
fastapi-starter
A FastAPI based low code starter: Async SQLAlchemy, Postgres, React-Admin, pytest and cypress
Stars: ✭ 97 (+361.9%)
Mutual labels:  sqlalchemy, fastapi
fastapi-boilerplate
FastAPI boilerplate for real world production
Stars: ✭ 145 (+590.48%)
Mutual labels:  sqlalchemy, fastapi
Apollo
A basic Application with multiple functionalities built with FastAPI aim to help Users Buy New Items Provided using PaypalAPI 🚀
Stars: ✭ 22 (+4.76%)
Mutual labels:  sqlalchemy, fastapi
cloudrun-fastapi
FastAPI on Google Cloud Run
Stars: ✭ 112 (+433.33%)
Mutual labels:  sqlalchemy, fastapi
fastrates
💵 Free & open source API service for current and historical foreign exchange rates.
Stars: ✭ 26 (+23.81%)
Mutual labels:  sqlalchemy, fastapi
fastapi-saas-base
Fast API SAAS Base App
Stars: ✭ 47 (+123.81%)
Mutual labels:  sqlalchemy, fastapi
Mini Shop Server
基于 Flask 框架开发的微信小程序后端项目,用于构建小程序商城后台 (电商相关;rbac权限管理;附带自动生成Swagger 风格的API 文档;可作「Python 项目毕设」;慕课网系列)---- 相关博客链接:🌟
Stars: ✭ 446 (+2023.81%)
Mutual labels:  sqlalchemy, restful-api
Sandman2
Automatically generate a RESTful API service for your legacy database. No code required!
Stars: ✭ 1,765 (+8304.76%)
Mutual labels:  sqlalchemy, restful-api
sanic-graphql-example
Sanic using Graphsql + SQLAlchemy example
Stars: ✭ 21 (+0%)
Mutual labels:  sqlalchemy, graphene
tifa
Yet another opinionated fastapi-start-kit with best practice
Stars: ✭ 82 (+290.48%)
Mutual labels:  sqlalchemy, fastapi
FastAPI-Full-Stack-Samples
The API Application Development using Python FastAPI, including interactive API documentation
Stars: ✭ 61 (+190.48%)
Mutual labels:  sqlalchemy, fastapi
ChefAPI
API using FastAPI and PostgreSQL for sharing or keeping track of awesome food recipes Based on Oauth2 and JWT 💎
Stars: ✭ 16 (-23.81%)
Mutual labels:  sqlalchemy, fastapi
mathesar
Web application providing an intuitive user experience to databases.
Stars: ✭ 95 (+352.38%)
Mutual labels:  sqlalchemy, restful-api
graphene-sqlalchemy-filter
Filters for Graphene SQLAlchemy integration
Stars: ✭ 117 (+457.14%)
Mutual labels:  sqlalchemy, graphene
Jobfunnel
Scrape job websites into a single spreadsheet with no duplicates.
Stars: ✭ 1,528 (+7176.19%)
Mutual labels:  scraper, beautifulsoup4
favv
Fullstack Web Application Framework With FastAPI + Vite + VueJS. Streamlit for rapid development.
Stars: ✭ 17 (-19.05%)
Mutual labels:  sqlalchemy, fastapi
fastapi-sqlalchemy-1.4-async
https://rogulski.it/blog/sqlalchemy-14-async-orm-with-fastapi/
Stars: ✭ 17 (-19.05%)
Mutual labels:  sqlalchemy, fastapi

CourseCake Build Status Codacy Badge Coverage Status Website coursecake.tisuela.com last commit commits activity

There are three main features CourseCake offers that make university course information more "edible" for developers:

CourseCake aims to create an API to access course data, where college course information is unified by our schemas. By making course 📚 data easier to responsibly access and more "edible" 🍰 for developers, we hope CourseCake gives a smooth approach to build useful tools for students.

Recent Changes

  • 🐴 Support for Calpoly
  • 🐌 Support for UCSC via SlugSurvival
  • 📚📝 Separation of the Course Schema into a smaller Course Schema and a Class Schema. A Class is an offering of a Course
  • 📈 Implementing a GraphQL endpoint using Graphene.

Cal Poly

🐴 Create course discovery applications faster

Seeking to aid applications like CollegeFlows and PolyFlowBuilder, we hope that CourseCake encourages innovation among students at Cal Poly San Luis Obispo.

UC Santa Cruz

🐌 Getting course information is piece of banana cake.

UC Santa Cruz course data is provided by SlugSurvival's API. They have a pretty cool course planning app, check it out.

Y'all have a neat-lookin campus -- I hope CourseCake helps y'all continue to code neat-lookin apps. If you need more features from CourseCake, feel free to open up an issue. I'm always open for help too! Scroll down for cool things to jump in on.

UC Irvine

🐜 Zot your courses easier and responsibly

The motivation of CourseCake is to make it easier to develop tools like AntPlanner and Antscoper, and promote a responsible use of WebSoc by not abusing its resources.

All of the latest scraped data is stored in our database, which avoids congesting WebSoc and allows successful requests even when WebSoc is down.

Where's my university? 🤷‍♂️

Open up an issue! If there's enough of a need, I'm down to add support for your school. If you'd like to help code a scraper or have an API to provide, let me know.

Documentation

🌐 Web API

💾 Database

🔍 Scrapers

Installation

👩‍👧 Clone repository

git clone https://github.com/nananananate/CourseCake
cd CourseCake

🐍 Create Python virtual environment

There are a good amount of depencies for this project -- it will be good practice to use a virtual environment, albeit not necessary.

On macOS and Linux: python3 -m virtualenv env

On Windows: python -m venv env The second argument is the location to create the virtual environment. Generally, you can just create this in your project and call it env.

Activate virtual environment

On macOS and Linux: source env/bin/activate

On Windows Command Line: .\env\Scripts\activate.bat

One Windows Powershell .\env\Scripts\activate.ps1

📦 Navigate to the repository folder and install packages

python -m pip install -r requirements.txt

🏃‍♀️ Deploy Fast API Application locally

We are no longer using Flask!

🦄 Run Fast API using uvicorn

Install uvicorn if you haven't already (if you followed the previous step correctly, you should be gucci.

python -m pip install uvicorn

Run uvicorn.

uvicorn coursecake.fastapi_app.main:app --reload

You’ll see output similar to this:

←[32mINFO←[0m:     Uvicorn running on ←[1mhttp://127.0.0.1:8000←[0m (Press CTRL+C to quit)
←[32mINFO←[0m:     Started reloader process [←[36m←[1m38240←[0m] using ←[36m←[1mstatreload←[0m
←[32mINFO←[0m:     Started server process [←[36m13020←[0m]
←[32mINFO←[0m:     Waiting for application startup.
←[32mINFO←[0m:     Application startup complete.

donezo

Future features

Things I'm working on! Open up an issue to suggest features or request to help out! I'm down to guide you in webscraping, using SQLAlchemy, or general back-end web development in Python :D

  • Adding instructor ratings from Rate My Professor via ratemyprof-api
  • Prerequisite mapping (AND visualization!) to create a network of classes (along with a node graph GUI) via Neo4j (probably in seperate repository).

GitHub license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].