All Projects β†’ z-x β†’ pushu.ps

z-x / pushu.ps

Licence: other
A simple Svelte app that let's you track your daily push-ups routine

Programming Languages

javascript
184084 projects - #8 most used programming language
Svelte
593 projects
CSS
56736 projects
HTML
75241 projects

Labels

Projects that are alternatives of or similar to pushu.ps

svelte-spinkit
A collection of loading indicators animated with CSS for Svelte
Stars: ✭ 27 (-34.15%)
Mutual labels:  svelte
svelteify
πŸ“² Customizable and dependencies-less Material components with Svelte
Stars: ✭ 43 (+4.88%)
Mutual labels:  svelte
svelte-typescript
Typescript monorepo for Svelte v3 (preprocess, template, types)
Stars: ✭ 214 (+421.95%)
Mutual labels:  svelte
awesome-svelte-kit
Curated resources on building sites with SvelteKit - A server-less-first answer to "the Next.js experience" by the Svelte community
Stars: ✭ 55 (+34.15%)
Mutual labels:  svelte
chrome-extension-svelte-typescript-boilerplate
Boilerplate for Chrome Extension Svelte Typescript project
Stars: ✭ 35 (-14.63%)
Mutual labels:  svelte
turbosvelte
A SvelteKit monorepo starter project powered by Turborepo!
Stars: ✭ 47 (+14.63%)
Mutual labels:  svelte
svelte-sheets
Blazing fast excel sheets in the browser, hugely inspired by JExcel, built with Svelte and XLSX.
Stars: ✭ 45 (+9.76%)
Mutual labels:  svelte
svelte-form
JSON Schema form for Svelte v3
Stars: ✭ 47 (+14.63%)
Mutual labels:  svelte
svelte-local-storage-store
Adds pub/sub to local storage.
Stars: ✭ 194 (+373.17%)
Mutual labels:  svelte
svelte-intersection-observer
Detect if an element is in the viewport using the Intersection Observer API
Stars: ✭ 151 (+268.29%)
Mutual labels:  svelte
DeLorean
Time-traveling debugger for Svelte applications
Stars: ✭ 58 (+41.46%)
Mutual labels:  svelte
esbuild-svelte
An esbuild plugin to compile Svelte components
Stars: ✭ 163 (+297.56%)
Mutual labels:  svelte
awesome
A curated list of delightful developers resources.
Stars: ✭ 13 (-68.29%)
Mutual labels:  svelte
web
πŸ§— Timely climbing/bouldering gym slot info
Stars: ✭ 18 (-56.1%)
Mutual labels:  svelte
svelte-component-library-template
A base for building Svelte component library.
Stars: ✭ 62 (+51.22%)
Mutual labels:  svelte
EddieHubCommunity.github.io
Information about our community
Stars: ✭ 88 (+114.63%)
Mutual labels:  svelte
svelte-pagination
Example of a pagination component in Svelte
Stars: ✭ 15 (-63.41%)
Mutual labels:  svelte
tabler-icons-svelte
A library of SVG Svelte components for Tabler Icons.
Stars: ✭ 50 (+21.95%)
Mutual labels:  svelte
svelte-persistent-store
A Svelte store that keep its value through pages and reloads
Stars: ✭ 111 (+170.73%)
Mutual labels:  svelte
eleventy-plugin-svelte
Eleventy plugin to support svelte templates
Stars: ✭ 40 (-2.44%)
Mutual labels:  svelte

What is pushu.ps

Pushu.ps is a simple tracking app for your daily pushup workout. It's main purpose was to give me a look on how to build Svelte websites and learn the new thing. The app and the design itself are copyrighted but the source is open for learning purposes.

Created by Łukasz Krysiewicz

Development

To install the app locally you would need Node.js, npm and possibly git. Then you need to clone the repository:

git clone https://github.com/z-x/pushu.ps.git

Next, navigate to the local repository that you've just downloaded

cd x:/pushu.ps

And finally install the whole thing to get all the dependencies:

npm install

Run the development server

To run the dev server you just need to run

npm run dev

It should run the server at http://localhost:5000 by default so you can just type this into your browser navigation bar and you should see the app.

When runing the server this way you are also loading the developement version of the training. This means that it will be a short training with quick breaks between sets. This allows you to test faster.

You can also run the server with the production version of training with

npm run start

The code includes comments for easier understanding if you are looking for any particular solution. I am aware it could be better in places, but please keep in mind that this is just a side project done after hours.

Build the final package

To build the optimized and pure JavaScript package you need to run

npm run build

The output will be placed in public directory.

Production vs Developement

The app knows it should run in production mode when it finds the environment variable NODE_ENV set to production. It runs in developement mode otherwise.

The main difference is that in production mode it uses a real training data while on developement mode it just uses simplified version of training.

Testing

For end to end testing I am using Cypress. The tests are located in cypress/integration/test.js. To run the tests you just need to run

npm run test

Cypress client will open and will let you run tests. Keep in mind that the test.js file is written to test the developement version of the training. It is based on shorter breaks between sets and overall simplified version of the actual training. This is made so the test would finish faster. The prod.js tests just if the production data was loaded and nothing more.

This project uses GitHub Actions to automatically test each new pull request. The tests are runing on Vercel preview deployments.

Tech stack

Where to find what

The master branch is where the current stable release sits. This is the branch that Pushu.ps main website runs.

License

The code and the design files are opened only for learning purposes, please keep in mind that the final app and it’s design are copyrighted.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].