A multi-tenant, multi-user todo application where organisations can sign up and manage their users' tasks.
- A modern Relational, Java, React example application
- Solve a problem common to a lot of businesses (who might pay you)
- A small, living codebase where I can contribute and demonstrate my ideas
- Documentation for professional application development that can teach beginners
- Put together some of my favourite tools
- Make a mobile friendly application
- In-Depth Development documentation
- Authentication
- Create, List and Edit flow
- Sorting and Pagination
- Mobile Friendly
- Multi-tenancy: Allowing multiple organisations to share a common appication and database in SaaS style
- Database
- MySQL
- API
- Java
- Spring-Boot
- Spring-Data-JPA
- Hibernate
- Spring-Security
- UI
- React
- Create-react-app
- React-Router-V4
- Material-UI
- Version Control
- Git
- Git Town
- Editors
- Visual Studio Code (vscode)
- Sequel Pro
Unfortunately, I don't have a live demo yet but I do have a bash script to make getting started fast.
Mac Instructions
- Open Terminal (CMD + Space, type Terminal)
- Create or just cd into your development folder
cd ~ mkdir development cd development
- Checkout this repository
git clone https://github.com/cadc/glue-stack.git cd glue-stack
- Run the setup bash script
You can open the bash script to find out but it:
sh setup.sh
- installs Homebrew
- installs MySQL
- creates a database called Glue
- installs Maven
- installs Node
- installs Yarn
- Create a new terminal tab (CMD + t)
- The first tab will run the api (backend).
This will start our Spring Boot Java application which will setup the tables in our database using a tool called Flyway.
cd api mvn spring-boot:run
- The second tab will run our ui (frontend) development server. You won't need this in production.
This will open a browser window to our application. Make sure both servers are started before your start playing with it.
cd ui yarn yarn start
- Signup your organisation!
- Sequel Pro (Database)
- Download Sequel Pro
- Install Sequel Pro
- Open Sequel Pro
- Select Socket as the Connection type
- Name: localhost
- Username: root
- Test Connection
- Save as Favorites
- Connect
- Select the Glue database on the top left dropdown
- Have a look around
- Visual Studio Code (vscode)
- Download vscode
- Download these extensions
- Optional but recommended
- Markdown All in One
- vscode-icons
- Fira Code font for font ligatures
- go to https://github.com/tonsky/FiraCode#solution
- click download
- extract the zip
- open the ttf folder
- select all the fonts then right click and select open
- Settings (CMD + ,)
{ "editor.minimap.enabled": false, "editor.fontFamily": "Fira Code", "editor.fontLigatures": true, "editor.fontSize": 14, "git.confirmSync": false, "workbench.iconTheme": "vscode-icons", "editor.formatOnSave": true, "git.enableSmartCommit": true, }