DeckHub is an interactive learning platform that uses modern cognitive research to help students prepare for certification exams. The platform provides multiple-choice and open-ended question formats and offers real-time feedback to guide learners through exam-related content. Our goal is to improve how students learn and retain information through intelligent systems powered by machine learning and data-driven insights.
Secure files from Google Drive are required to host this locally but if you push to staging
branch the Github Actions will deploy to Google Cloud.
Install dependencies:
npm install
Set up a .env
file in the main directory:
LOCAL=True
OPEN_API_KEY=(your OpenAI key)
Set up a .env
file in the backend directory:
STRIPE_SECRET_KEY=(your Stripe secret key)
WEBHOOK_SECRET=(your webhook secret)
Navigate to the backend directory and install Python requirements:
pip install -r requirements.txt
Place the firebase_key.json
file into the backend directory:
Create an OpenAI assistant and update the assistant ID:
assistant_id
at the top of the app.py
file to the assistant you created. You will need to replace the current assistant ID with the one generated from the assistant you're using:
assistant_id = "asst_your_new_assistant_id"
Run the backend:
/src/backend
directory, start the backend server:
python app.py
Run the frontend:
npm run dev
You can find a guide to each section in the README.md files in their respective directories. The project consists of the following main components:
Frontend: Located in the /routes
directory, the frontend is built using Vite and Svelte. It handles the user interface, interactions, and communication with the backend services.
Backend: Found in the /src/backend
directory, the backend is built using Flask. It handles API endpoints, user sessions, and database interactions via Firebase. The backend also includes routes for managing user progress, retrieving questions, and other services.
CI/CD: Continuous Integration and Continuous Deployment (CI/CD) are managed through GitHub Actions. The workflows in the /workflows
directory automate the process of deploying the frontend to Firebase and the backend to Google Cloud Run.