Comments (19)
Thanks, we'll focus on the tech part in here, and have a convo in parallel with the relevant people at Vates. Thank you again for your great software and also your time to answer!
from classroomio.
Sounds good. That's fine. Whichever is fine by you. Please feel free to continue the convo here or just shoot me an email [email protected]
from classroomio.
@olivierlambert Thanks for opening this issue 😃.
Our stack is just Sveltekit and Supabase, the Sveltekit part is just like any frontend framework where you build and serve, that is straight forward.
However for the Supabase part, I am not sure how people want to do that part. There are 2 options according to my level of understanding now:
-
Self-host Supabase: There are a ton of resources on how to do that, the official docs is here. Once you self host, you will then need to connect this project to your supabase account in order to run the migrations to make sure you project matches exactly what is needed for the application.
-
Use Supabase cloud: With supabase cloud, you will also need to link it to the project so you can run migrations and deploy any change made to the repo, directly to your project.
For any of the 2 options, you still need to get these environment variables
PUBLIC_SUPABASE_PROJECT_REF=<PROJECT REF>
PUBLIC_SUPABASE_URL=<API URL>
PUBLIC_SUPABASE_ANON_KEY=<anon key>
PUBLIC_SUPABASE_BUCKET_URL=<Inbucket URL>
In addition, I need to write a script to apply changes in the repo to any supabase account.
Which of the 2 options matches your requirement?
from classroomio.
Hey @rotimi-best
First, (and I forgot to say that in my initial message): thank you for this great software.
Then, thank you for your very fast and detailed answer. You rock 👍
I have to admit I'm not used to Sveltekit and Supabase, so I probably need to learn a bit how it works and how I could build those.
Anyway, I'm all in for the self hosted Supabase, because I'm trying to self-host everything at my company.
from classroomio.
Thank you very much @olivierlambert. I am super happy to help you on your self hosting journey.
TBH I haven't selfhosted supabase before but I think the process should be well documented and smooth.
Do you mind sharing your use-case for classroomio 😃?
We can start taking baby steps to help you selfhost the whole stack, this is also gonna be helpful because we can document the selfhosting process in our documentation
from classroomio.
Sure, the use case is pretty simple: we'd like to offer a training/certification program on our open source virtualization stack (see https://vates.tech for the details). We started to have some courses on slides, but having a solution to deliver the courses with a quiz and such will offer a nice experience.
Obviously, this means we'll probably know to interconnect many software together (or to have an SSO for our existing customer portal to make them connect to all our apps seamlessly) but this is not the priority right now.
So I'm exploring all the different Open Source LMS platforms, I don't need something super complicated, I'm not a university or something, it's few courses (probably 10 at max on the long run).
from classroomio.
Oh this makes sense. This was my exact problem with the existing open source solutions. The stack was either complicated to setup and uses some stale technologies or the feature sets were more best suited for enterprises.
Do you want to try out the platform first before investing the time in selfhosting?
I can give you a quick demo or give you access to the platform to try out the cloud version yourself - whichever you prefer 😃
from classroomio.
Hmm why not, but usually I'm first installing it on prem and testing it. I'm crazy busy but if I can't attend the demo, someone else from my team could attend. I'll discuss this internally and book a demo via your cal link.
from classroomio.
So I'm back and now starting to actively try to install the stack locally, without Docker :)
If I understand correctly, the app I want to use is the "dashboard" one. I need to build that app and then to connect it to Supabase (it's another topic for now).
However, if I go in the dashboard folder and try to do npm i
, I'm already stuck with:
$ npm i
npm ERR! code EUNSUPPORTEDPROTOCOL
npm ERR! Unsupported URL Type "workspace:": workspace:*
npm ERR! A complete log of this run can be found in:
npm ERR! /var/www/.npm/_logs/2024-01-18T12_06_42_206Z-debug-0.log
I'm using Node 18.
from classroomio.
Welcome back 😀. Not sure if I need to improve the communication in the README however to install the packages we use pnpm.
That means you should run pnpm i
from classroomio.
So… progress! \o/
Now I'm in front of this:
from classroomio.
So in short, I'm loading Nginx in front of npm run preview
on a domain name, and when I'm loading it, I'm redirected to https://app.classroomio.com/404?type=org
from classroomio.
Okay so it's a bit better with npm run dev
vs preview
: now I have the main page. Do I have pre existing/default credentials?
If not, trying to register fails with:
from classroomio.
Oh, glad it worked. Yeah npm run dev
is the command to get the frontend running.
@cannarron is actually working on a contributibution that adds dummy data into the db after running migrations. This gives you test users and courses to start interacting with.
You can't register (NetworkError when attempting to fetch resource) because you don't have the database layer up and running. Can you follow the guide in the README to setup supabase locally and you can add that to your environment variables.
With this, registration should go smoothly.
from classroomio.
I did install/deploy supabase (on another machine where I can run Docker), so it's running and I can reach it. But maybe you have a script somewhere on your own doing something I didn't?
edit: ah, I need to open some ports in the firewall.
from classroomio.
So I'm not sure exactly about the configuration between Supabase and Dashboard app. I followed the Supabase self-hosted guide and configured to listen on an IP that can be reach now from the VM running ClassroomIO.
But it's a bit confusing about which service/port I should use.
For example, on Classroom, I have:
PUBLIC_SUPABASE_URL
: I don't know which variable it matches on Supabase side. Is itSUPABASE_PUBLIC_URL
on supabase side?PUBLIC_SUPABASE_BUCKET_URL
: no similar variable on Supabase side.
edit: or are you accessing everything via Kong? Then it would be KONG_HTTP_PORT
from classroomio.
Ah I think I start to understand the issue. Dashboard app is behind an HTTPS frontend (Nginx doing SSL termination) and Supabase is on HTTP. Mixed content is blocked by the browser.
However in HTTPS, I only have self signed certificates for Superbase, and it seems to block the request from Dashboard app.
I wonder if it's possible to tell Dashboard app to ignore self-signed certs.
from classroomio.
Hi @olivierlambert, will try to answer all your questions.
Supabase environment variables
PUBLIC_SUPABASE_BUCKET_URL
: I just realised it isn't used at all so I just created a PR to completely remove it.
#129
from classroomio.
I wonder if it's possible to tell Dashboard app to ignore self-signed certs.
@olivierlambert I am not sure tbh. I haven't worked with self signed certificates. It seems to me that HTTPS/HTTP issue is a browser constraint and not one that can be controlled from a web app
from classroomio.
Related Issues (20)
- Implement Timed Activity Tool HOT 1
- Implement Tic Tac Toe tool HOT 1
- Implement Random Name Picker tool HOT 1
- Show students all courses available to the organization. HOT 1
- [design] Simple resume builder - free tool HOT 1
- Certificates update HOT 1
- Grading modal improvements HOT 1
- [design] Group courses into modules HOT 1
- use presigned url for video upload HOT 1
- [design] Road map page HOT 1
- [design] Collection in learning management system HOT 1
- [design] LW for free tools page HOT 1
- [design] LW for certificates HOT 1
- [design] LW for LMS Customizations HOT 1
- [design] Email template HOT 1
- [design] Telegram Assignment Reminder free tool HOT 1
- Make navigation active HOT 1
- User can submit empty lesson title in edit mode HOT 1
- Console error when generating exercises with AI HOT 1
- When user gets the correct answer, automatically move to the next question HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from classroomio.