All in one tools to help strength athletes load the right amount of training dosage!
- Node with Express for API
- PostgreSQL for database
- Knex for database migration
- Vue 3 with Vite tooling for UI
- Pinia for Vue state management
- JWT for stateless authentication
- Bootstrap 5 for basic styling
- Vitest for unit testing
- Chart.js for beautiful charts
- Animate.css for ready-made animation
- Font-awesome and Bootstrap-icon for icons
- Command And Conquer (CAC) for CLI
- GitHub actions for CI/CD
- Caprover with Docker for for zero config deployment
- AutoAnimate for drop-in animation
- Redis to cache some of the large queries
Here below are some guides and docs to help set up your local development environment. Let us know if you have any questions!
A mono repo with express and vue app combined. Express will serve vue generated dist as static public content on '/' routes and serving '/api/v1/*' for end-points.
for example:
// api end-points
import v1 from '/app/api/v1/api.v1.js';
app.use("/api/v1", v1);
// vue app
app.get("*", (req, res) => {
// index.html will be generated from vite as vue dist
res.sendFile('src/app/public/index.html);
})
Take a look at the following tree structure for better understanding.
.github/
.vscode/
docs/
logs/
src/
โโโ app/
โ โโโ api/ # main entry point for api end-points
โ โ โโโ middlewares/
โ โ โโโ v1/
โ โ โโโ user/ # mvc structure with component specific
โ โ โ โโโ templates/ # email templates
โ โ โ โ โโโ happy-birthday.html
โ โ โ โโโ user.controller.js
โ โ โ โโโ user.model.js
โ โ โ โโโ user.service.js
โ โ โ โโโ user.router.js
โ โ โ โโโ user.test.js
โ โ โโโ comment/
โ โ โโโ auth/
โ โ โโโ video/
โ โ โโโ api.v1.js
โ โโโ ui/ # main entry point for vue app
โ โ โโโ assets/
โ โ โโโ components/
โ โ โโโ router/
โ โ โโโ store/
โ โ โโโ views/
โ โ โโโ App.vue
โ โ โโโ favicon.ico
โ โ โโโ index.html
โ โ โโโ vue.js
โ โโโ cli/ # cli app with admin commands
โ โโโ app.js
โโโ bin/
โโโ config/
โโโ public/ # serving vue app from express backend
โโโ crons/
โโโ tests/
โโโ utils/
โโโ package.json
โโโ vite.config.js
Distributed under the GNU GPL V3 License ยฉ wajeht. See LICENSE for more information.