The motivation behind building this app was to help Med student to pass Medical Theory test by allowing them to take mock test without having to pay for costly services out there. The app fetches questions from different sources and bundles then into a large databse of multi-choice questions. The user of the app can take a test and see result upon submission. The user can see the history off all the test he has taken within the app. In order to take a test you need to signin or create a new account. It's built using NuxtJs and AWS serverless for the backend.
- SignIn and SignUp
- Browse tests
- Take a test
- View performance stats
- VueJs/NuxtJs
- Serverless Framework (SST)
- Stripe
- TailwindUI
- Node.js (version 16.x.x)
- Serverless Framework CLI (SST)
- Yarn (or you could use npm)
-
Clone the repository:
git clone https://github.com/AliakbarSu/mpt-sst.git
-
Install the dependencies:
cd mpt-sst yarn install
-
Configure your aws credentials in order to deploy your backend on AWS
npm run dev
then provide your aws access key and secret key
-
In order for the application to work properly, you need to provide some configuration values, such as stripe api token, and cms api keys. You can set these values by running:
npx sst secrets set [PARAMETER_NAME] [PARAMETER_VALUE]
npx sst secrets set HYGRAPH_TOKEN npx sst secrets set AUTH0_CLIENT_SECRET npx sst secrets set STRIPE_SECRET npx sst secrets set STRIPE_SIGNING_SECRET npx sst secrets set SENDGRID_API_KEY
You need to set these values for both development and production environments with e.g
npx sst secrets set HYGRAPH_TOKEN some-value --stage prod
. You can find the specific parameter names inside the .env.development file.
-
Start the development server (backend):
npm run dev
-
Start the development server (frontend):
cd packages/nuxt npm run dev
-
Open your browser and navigate to
http://localhost:3000
to see the application running.
- Browse available tests by creating an account first, then navigate to the dashboard section by clicking on the link in the navbar
- To view previous tests and see the results for them, navigate to the Dashboard section and click on the specific test