Skip to content

👟 A tool to help with editing, viewing and optimising SVGs.

Notifications You must be signed in to change notification settings

leviceccato/footpath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Footpath

A tool to help with editing, viewing and optimising SVGs. It is an SPA built with SolidJS.

Warning

This project is an alpha state. Many features are missing as the bulk of development is yet to be completed.

Usage

Requirements

  • Bun 1

Development

Install dependencies.

bun install

Run development server on http://localhost:5173.

bun start

Build app into dist folder.

bun run build

Git hooks

This project uses lefthook to manage git hooks. See https://github.com/evilmartians/lefthook/tree/master#readme for more information. bunx lefthook install should be ran after making any changes to lefthook.json.

Conventions

Tasks

TODO.md is used as a kanban-style task management document. Currently it is designed for a single user will likely be expanded once the project reaches stable.

Organisation

In this project a flat directory style encouraged. There should only be 1 level of depth within src. This should improve discoverability of files and ease decision making when it comes to creating new ones.

The exception to this rule is the src/routes directory. Arbitrary nesting is allowed here in order to reflect the routes in the app (pseudo filesystem routing). Currently, no official router is used but in the future as more routes are added the structure may change.

Testing

Unit testing

Unit tests are used for discrete sections of the codebase. They are prefered for pure functions, such as the ones you would find in src/utils that don't require complex mocks or environments. This project uses Buns test runner. Test files should be created alongside the file with the functions to be tested in the format [file-name].test.ts.

To run tests:

bun test

E2E testing

Rather than using individual component testing this project instead relies on E2E testing through Playwright to test complex UI interactions and flows. Currently, this is not implemented as the main flows are interactions in the app are yet to be resolved.

Deployment

This app is hosted on Netlify. Commits to main will trigger a deploy.

Licenses

All non-third-party source code is licensed under the MIT license.

About

👟 A tool to help with editing, viewing and optimising SVGs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published