Overview
This product is a Svelte starter theme that combines Sapper, Firebase, and GraphQL. It includes features such as Svelte, Sapper, RxJS, GraphQL via Hasura’s graphql-engine, and Authentication via Firebase Auth. The theme also uses a Service Worker to cache GraphQL requests.
Features
- Svelte: A lightweight JavaScript framework for building user interfaces.
- Sapper: A framework for building web applications with Svelte.
- RxJS: A library for reactive programming using Observables.
- GraphQL via Hasura’s graphql-engine: Integration with GraphQL using Hasura’s graphql-engine.
- Authentication via Firebase Auth: User authentication and authorization using Firebase Auth.
- Service Worker: Utilizes a Service Worker to cache GraphQL requests for improved performance.
Installation
To install the theme, follow these steps:
- Run
yarnin the project root to install dependencies. - To start the development server, run
yarn devornpm run devfrom the project root. The app will be running at http://localhost:3000. - To build the frontend, run
yarn buildornpm run buildfrom the project root. - To start the app, run
yarn startornpm start. - Edit the
.envfile to add your credentials. - Add your Firebase configuration to
src/firebase/config.js. - Update the
graphqldirectory with your own queries and mutations. - To run or test in Docker locally, run
docker run -p 3000:3000 -it <IMAGE> sh, replacing<IMAGE>with the appropriate image name. Then, from inside the image, runnode __sapper__/build. Finally, open your browser tolocalhost:3000.
Please note that some setup is required as the repo does not include personal Hasura and Firebase configurations.
Summary
This Svelte starter theme combines Sapper, Firebase, and GraphQL to provide users with a powerful and efficient development framework. It includes features such as Svelte, Sapper, RxJS, GraphQL via Hasura’s graphql-engine, and Authentication via Firebase Auth. The theme also prioritizes performance by utilizing a Service Worker to cache GraphQL requests. Installation is straightforward and requires setting up credentials and configurations specific to each user. Overall, this theme is a comprehensive solution for building modern web applications.