2023-06-05 16:05:25 +00:00
|
|
|
<h1 align="center">🔥 Schule als Staat - Hohenlohe Gymnasium Öhringen 🔥</h1>
|
|
|
|
<h3 align="center">User administration, user check and customs, banking system, employer portal and an admin portal</h1>
|
2022-07-12 18:44:26 +00:00
|
|
|
<p align="center">
|
|
|
|
<img height="600px" src=".docs/screenshot.png" alt="screenshot"/>
|
|
|
|
</p>
|
|
|
|
|
2023-06-05 16:05:25 +00:00
|
|
|
This is our repository containing all required resources to run the "Core" WebApp from the "Hohenlohe Gymnasium Öhringen - Schule als Staat" project.
|
2023-06-01 16:34:41 +00:00
|
|
|
This repository also contains all the required Pocketbase files to run the backend server.
|
2022-07-12 18:44:26 +00:00
|
|
|
|
|
|
|
## 🚀 Getting Started
|
|
|
|
|
|
|
|
The following instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
|
|
|
|
See deployment for notes on how to deploy the project on a live system.
|
|
|
|
|
|
|
|
### 🍽️ Prerequisites
|
|
|
|
|
|
|
|
`NodeJS (including PNPM)` is required to run this project.
|
2023-06-01 16:34:41 +00:00
|
|
|
Also `Go` is required to run the built in server.
|
2022-07-12 18:44:26 +00:00
|
|
|
|
|
|
|
### 📦 Installing
|
|
|
|
|
|
|
|
At first clone this repository to your local machine by using
|
|
|
|
|
|
|
|
```
|
2023-06-05 16:05:25 +00:00
|
|
|
git clone https://git.cliffbreak.de/SimGie/HGOE-SaS.git
|
2022-07-12 18:44:26 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Change to the cloned repository
|
|
|
|
|
|
|
|
```
|
2023-06-05 16:05:25 +00:00
|
|
|
cd HGOE-Sas
|
2022-07-12 18:44:26 +00:00
|
|
|
```
|
|
|
|
|
2023-06-01 16:34:41 +00:00
|
|
|
Copy the example environment file
|
2022-07-12 18:44:26 +00:00
|
|
|
|
|
|
|
```
|
2023-06-01 16:34:41 +00:00
|
|
|
cp .env.example .env
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
To install all required webapp packages run
|
|
|
|
|
|
|
|
```
|
|
|
|
cd webapp && pnpm install
|
2022-07-12 18:44:26 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
To start the webapp in development mode run the following npm script
|
|
|
|
|
|
|
|
```
|
2023-06-01 16:34:41 +00:00
|
|
|
pnpm dev
|
|
|
|
```
|
|
|
|
|
|
|
|
To build the webapp run the following npm script
|
|
|
|
|
|
|
|
```
|
|
|
|
pnpm build
|
|
|
|
```
|
|
|
|
|
|
|
|
To install all required server packages run
|
|
|
|
|
|
|
|
```
|
|
|
|
cd ../server && go mod download
|
|
|
|
```
|
|
|
|
|
|
|
|
To generate unique VAPID keys run the following Go command copy this keys to the `.env` file
|
|
|
|
|
|
|
|
```
|
|
|
|
go run main.go generate-vapid-keys
|
|
|
|
```
|
|
|
|
|
|
|
|
To start the server run the following Go command
|
|
|
|
|
|
|
|
```
|
|
|
|
go run main.go serve
|
|
|
|
```
|
|
|
|
|
|
|
|
If you do changes to the database schema keep in mind to `Export collections` via the Pocketbase UI.
|
|
|
|
Paste the exported JSON into the `pb_schema.json` file and run the following npm script to update the frontend schema types.
|
|
|
|
|
|
|
|
```
|
|
|
|
cd ../webapp && pnpm typegen
|
2022-07-12 18:44:26 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
## 🧑💻 Configure Visual Studio Code
|
|
|
|
If you haven't a instance of Visual Studio Code up and running download the latest version [here](https://code.visualstudio.com/download).
|
|
|
|
Install the recommended extensions by opening the Extensions-Tab (Ctrl+Shift+X).
|
|
|
|
Enter `@recommended` and install all extensions.
|
|
|
|
After that restart Visual Studio Code to apply all changes.
|
|
|
|
|
|
|
|
## 🎉 Contributing
|
|
|
|
Please refer to our **[COMMIT_CONVENTION](COMMIT_CONVENTION.md)**
|
|
|
|
|
|
|
|
## 🏗️ Built With
|
|
|
|
|
|
|
|
* [Node.js](https://nodejs.org/) - The JavaScript runtime used as the projects base
|
|
|
|
* [PNPM](https://pnpm.io/) - Faster alternative to npm for managing dependencies
|
|
|
|
* [Vue.js](https://vuejs.org/) - The Frontend Web Framework
|
|
|
|
* [Vite](https://vitejs.dev/) - Used Frontend Tooling
|
2023-06-01 16:34:41 +00:00
|
|
|
* [Go](https://go.dev/) - The Backend Programming Language
|
|
|
|
* [Pocketbase](https://pocketbase.io/) - The Backend Framework
|
|
|
|
|
2022-07-12 18:44:26 +00:00
|
|
|
|
|
|
|
## 🤵 Authors
|
|
|
|
|
|
|
|
* **Simon Giesel** - *Project Lead & Initial work* - [Simon Giesel](https://git.cliffbreak.de/SimGie)
|