Skip to content

matyash12/learning-cards

Repository files navigation

Learning cards

Web app for learning using cards.

You can try it out on live server

Screenshots

Docs

Running as example (Development)

Not secure using hardcoded usernames and password
You must have docker installed For it to work on localhost it's best to disable cors restriction.

git clone https://github.com/matyash12/learning-cards.git
cd learning-cards
chmod +x build.sh
./build.sh -example

Running using Jenkins (Production)

  1. Create new Pipeline
  2. Set pipeline definition to Pipeline script from SCM
  3. Set SCM to Git
  4. Set repository url to https://github.com/matyash12/learning-cards
  5. Set Branches to build to main
  6. Add .env to credentials as LEARNING_CARDS_ENV_FILE (copy and change .env.example)
  7. Add application.properties to credentials as LEARNING_CARDS_APPLICATION_PROPERTIES (copy and change backend/src/main/resources/application_example.properties)
  8. Add manifest.json to credentials as LEARNING_CARDS_MANIFESTJSON (just copy frontend/src/manifest.json)
  9. Click run

API

Documentation

Note: autogerated
Docs

Postman

You can view and test api on Postman Postman public docs

PWA

Progressive Web App

Chrome

Open app and in search bar click on Screenshot 2023-12-27 at 15 57 05.

IOS

  1. Click share
  2. Scroll down and click Add to Home Screen

Technologies used:

  • Spring boot, security
  • Docker
  • Vue
  • Bulma
  • Jenkins
  • Github actions
  • Postman

Note

  • I had to learn many technologies on the way.
  • Passwords are stored hashed using salt (Unique salt for each password).
  • If account managment is slow try to adjust hashing algorithm (PasswordUtils.java)

Development tip

  • Disable Cross-Origin restrictions