An educational platform for teachers who want a trustworthy and well built desktop application for teaching their students. 👩🏫👨🏫💻📚
This app provides teachers with the ability manage existing and new student data, securely accept payment for classes via Stripe and Paypal, chat via instant messaging, create and share documents via Google Drive/Docs and S3, use tools such as Google Translate and ChatGPT, conduct one-on-one classes with video/audio/screen sharing capabilities and fullscreen view (NOTE: support for up to 4 participants, i.e. 1 teacher and 3 students is currently being built), sending push notifications to individual students or to multiple students via student segments (i.e. send notifications to all students of a certain level, or to all students in a particular timezone, etc.) configure games for students, and more.
- Contact info
- Features
- Demo
- Installation for development
- Download production app
- Usage
- Technologies
- License
Developed by: Mitchell Wintrow
Email: [email protected], [email protected]
- 🔒 Secure user authentication and authorization, as well as Google SSO
- 💳 Secure payment and PCI DSS compliance via Stripe and Paypal for classes (Under development)
- 🌍 Multi-language support (Currently supports Ukrainian, Russian, and German. Support is being developed for Spanish, French, Hebrew, Arabic, Chinese, Japanese, Portugeuse, Vietnamese, and Korean. Please reach out for support with any languages not mentioned and we'll see what we can do for you!)
- 🎥 Encrypted video conferencing and screen sharing with up to 4 partipants via WebRTC
- 💬 Instant messaging with students via WebSockets
- 🗂️ Integration with S3 (AWS) (Under development)
- 📂 Integration with Google Drive/Docs (Under development)
- ㊙️ Integration with Google Translate (Under development)
- 🤖 Integration with ChatGPT (Under development)
- 🎮 Gamification for students
- 🧍♂️🧍♀️ Student segmentation (Under development)
- 🔔 Push notifications (Under development)
Old Demo Below: Added to showcase Video calling
More demos will be added over time...
For Mac/Linux
# Step 1: Clone the repo
git clone https://github.com/mrrobotisreal/AspireToExpandTeacherDesktop.git
# Step 2: Enter project directory and install dependencies
cd AspireToExpandTeacherDesktop
npm install
# Step 3: Create required environment variables
export MAIN_SERVER_URL=<your-instance-hosting-AspireToExpandServer>
export WS_VIDEO_SERVER_URL=<your-instance-hosting-AspireToExpandClassroomServer>
export WS_CHAT_SERVER_URL=<your-instance-hosting-AspireToExpandChatServer>
export HTTP_CHAT_SERVER_URL=<your-instance-hosting-AspireToExpandChatServer>
export SALT=<your-preferred-salt>
export GOOGLE_CLIENT_ID=<your-google-app-client-id>
export GOOGLE_CLIENT_SECRET=<your-google-app-client-secret>
export STRIPE_SECRET_KEY=<your-stripe-secret-key>
export STRIPE_PUBLISHABLE_KEY=<your-stripe-publishable-key>
# Step 4: Run webpack dev server in one terminal
export NODE_ENV="development"
npm run react-dev
# Step 5: Start the app in another terminal
export NODE_ENV="development"
npm run start-node
For Windows (Powershell)
# Step 1: Clone the repo
git clone https://github.com/mrrobotisreal/AspireToExpandTeacherDesktop.git
# Step 2: Enter project directory and install dependencies
cd AspireToExpandTeacherDesktop
npm install
# Step 3: Create required environment variables
$Env:MAIN_SERVER_URL = <your-instance-hosting-AspireToExpandServer>
$Env:WS_VIDEO_SERVER_URL = <your-instance-hosting-AspireToExpandClassroomServer>
$Env:WS_CHAT_SERVER_URL = <your-instance-hosting-AspireToExpandChatServer>
$Env:HTTP_CHAT_SERVER_URL = <your-instance-hosting-AspireToExpandChatServer>
$Env:SALT = <your-preferred-salt>
$Env:GOOGLE_CLIENT_ID = <your-google-app-client-id>
$Env:GOOGLE_CLIENT_SECRET = <your-google-app-client-secret>
$Env:STRIPE_SECRET_KEY = <your-stripe-secret-key>
$Env:STRIPE_PUBLISHABLE_KEY = <your-stripe-publishable-key>
# Step 4: Run webpack dev server in one terminal
$Env:NODE_ENV = "development"
npm run react-dev
# Step 5: Start the app in another terminal
$Env:NODE_ENV = "development"
npm run wstart-node
For Windows (Command Line)
rem Step 1: Clone the repo
git clone https://github.com/mrrobotisreal/AspireToExpandTeacherDesktop.git
rem Step 2: Enter project directory and install dependencies
cd AspireToExpandTeacherDesktop
npm install
rem Step 3: Create required environment variables
set MAIN_SERVER_URL=<your-instance-hosting-AspireToExpandServer>
set WS_VIDEO_SERVER_URL=<your-instance-hosting-AspireToExpandClassroomServer>
set WS_CHAT_SERVER_URL=<your-instance-hosting-AspireToExpandChatServer>
set HTTP_CHAT_SERVER_URL=<your-instance-hosting-AspireToExpandChatServer>
set SALT=<your-preferred-salt>
set GOOGLE_CLIENT_ID=<your-google-app-client-id>
set GOOGLE_CLIENT_SECRET=<your-google-app-client-secret>
set STRIPE_SECRET_KEY=<your-stripe-secret-key>
set STRIPE_PUBLISHABLE_KEY=<your-stripe-publishable-key>
# Step 4: Run webpack dev server in one terminal
set NODE_ENV="development"
npm run react-dev
# Step 5: Start the app in another terminal
set NODE_ENV="development"
npm run wstart-node
NOTE: There is an issue with Webpack 5 and bcryptjs. Currently the only way to fix this issue is by manually going into node_modules/bcryptjs/package.json
and change "browser"
from this:
"browser": "dist/bcrypt.js"
To this:
"browser": {
"bin": "dist/bcrypt.js",
"crypto": false
}
This isn't an issue for the finalized app because I'll be building a cross-platform binary with Electron, but for development purposes I felt it was important to include this fix mentioned above.
A download link to the finalized production app version will be posted here...
NOTE: In order to first log in to this app, you must manually insert a teacher account into the MongoDB database on your instance of the AspireToExpandServer with the following properties:
db.students.insertOne({
"teacherID":"<your-desired-teacher-id>",
"emailaddress":"<your-email-address>",
"password":"<your-password>"
})
This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- You can view and share this code for non-commercial purposes as long as proper credit is given.
- Forking, modifications, or derivative works are not allowed.
For the full license text, visit Creative Commons License.
This product is developed and owned by WinApps (Mitchell Wintrow) ©2024