Skip to content

Latest commit

 

History

History
90 lines (75 loc) · 2.11 KB

README.md

File metadata and controls

90 lines (75 loc) · 2.11 KB

ourcourseville

Platform for students to publish and access assignments' solutions in order to enhance their learning experience and collaboration.

Frontend

Stack

  • react
  • redux
  • tailwindcss

Prerequisites

  • bun v1.1
  • node v20

Setting up

  1. Copy .env.template and paste it in the same directory as .env.local and fill in the values.
NEXT_PUBLIC_RECENT_COURSES_TTL=31536000000 # 1 year
API_URL=http://localhost:5203 # backend url
API_KEY=apikey # backend api key
EXTENSION_URL= # extension download url in homepage
  1. Install dependencies and run
bun install
bun dev

Backend

Stack

  • ASP.NET Core 8
  • Firestore
  • Redis

Prerequisites

  • .NET 8

Setting up

  1. Copy .env.template and paste it in the same directory as .env and fill in the values.
ASPNETCORE_ENVIRONMENT=Development
ASPNETCORE_URLS="http://localhost:5203"

Web__Url=http://localhost:3000 # frontend url
API__Key=apikey # api key
ConnectionStrings__Redis="localhost:6379,password=5678"
TTL__Faculty=86400000 # 1 day
TTL__Course=3600000 # 1 hour

Firestore__DB=ourcourseville
# Firestore collections
Firestore__Faculties=faculties_dev
Firestore__Courses=courses_dev
Firestore__Assignments=assignments_dev
Firestore__Records=records_dev

GOOGLE_APPLICATION_CREDENTIALS=firebase-adminsdk.json # path to firebase admin sdk
  1. Install dependencies
dotnet restore
  1. Create a service account in Firebase and download the json file. Set the path to the json file in the GOOGLE_APPLICATION_CREDENTIALS environment variable.
  2. Run the backend
dotnet run watch

Extension

Stack

  • react
  • tailwindcss

Prerequisites

  • bun v1.1
  • node v20

Setting up

bun install

# this will run nodemon and watch for changes (generates the build in the `dist` folder, you can load the extension in chrome by going to `chrome://extensions/` and enabling developer mode)
bun dev

Credits

Contributing

Feel free to open PRs or raise issues!