This monorepo contains all the frontend projects and common code for the SudoSOS.
- sudosos-nginx-proxy: Nginx proxy configuration for the SudoSOS stack.
- sudosos-frontend-common: Common code components, helper functions, services, and Pinia stores for frontend applications.
- sudosos-point-of-sale: Frontend application for the SudoSOS POS system built with Vue 3 and TypeScript.
- sudosos-dashboard: Dashboard frontend application for SudoSOS, rewritten in Vue 3.
Contributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue on the issue tracker.
You can quickly start development directly in your browser by using Codespaces. Otherwise you can use a local code editor such Jetbrains Webstorm (free via the university) or VSCode.
- Click here to create a codespace for this repository
- After this, all of the dependencies, development environment and set up command should be run and ready.
- Run
cd apps/dashboard
orcd apps/point-of-sale
in the terminal. - Run
npm run dev
to start the development environment. - There should be a pop up to open the website in the bottom right corner, changes to the code are directly reflected on this site.
- You can also open this site using the ports tab in the same window as the terminal.
Warning
Login via GEWIS does not work on Codespaces, you will need to sign in using your m-account in the local login.
Tip
You can also use the Jetbrains IDE if you prefer that over the default Codespaces IDE. More information can be found here.
- Node.js Version 18+
- Git and possibly a Git manager
- (VSCode: Vue extension)
- Use git to clone the repository.
- Run
npm install
- Copy the .env.example file to .env in the
apps/dashboard
andapps/point-of-sale
directories
- Run
cd apps/dashboard
orcd apps/point-of-sale
in the terminal. - Run
npm run dev
to start the development environment. - You can access the dashboard and point of sale at
localhost:5173
andlocalhost:5174
respectively.
By default no network requests are allowed from other hosts to sudosos.test.gewis.nl
. This will prevent critical network requests like authentication from working correctly. To allow this, CORS will need to be disabled. This can be done by using an extension that can disable CORS. Alternatively, if you are using chrome, you can directly run it without CORS.