A simple note-taking demo powered by Vite.
- Node.js >= 18
- npm >= 9
npm installCopy .env.example to .env and add your Google OAuth client ID:
cp .env.example .env
echo "VITE_GOOGLE_CLIENT_ID=your-client-id" >> .envThe VITE_GOOGLE_CLIENT_ID variable is required for the Drive backup feature.
Start a local server with live reloading:
npm run devCreate a production build with PWA assets in the dist folder:
npm run buildTo preview the production build locally:
Copy the contents of dist/ to a static host such as GitHub Pages or Netlify.
If the app is served from a subpath (for example
https://username.github.io/fastnotes/), add
<base href="/fastnotes/"> inside index.html so asset paths resolve.
npm run previewvite-plugin-pwa injects the service worker and manifest automatically.
Offline support is enabled by default and registered from app.js.
=======
This project is licensed under the MIT License.
GridStack is installed via npm and imported as an ES module from app.js.
Containers use a nested GridStack instance to manage their internal layout.
- Execute
npm run deve abrahttp://localhost:5173. - Clique no botão + para adicionar um novo card.
- Edite o título e o texto. Altere a cor e teste o bloqueio/copiar.
- Recarregue a página e confirme que o conteúdo persiste.
- Execute
npm run deve abrahttp://localhost:5173. - Clique no + e escolha Container.
- Use a seta para recolher e expandir. Arraste o container pelo grid. A altura deve se ajustar imediatamente.
- Recarregue a página e confirme que o container continua no lugar.
- Clique no botão + e escolha o 📁 para criar uma pasta.
- Clique na pasta para abrir a visualização em tela cheia.
- Edite o título e a descrição da pasta.
- Use ESC ou o botão de voltar para fechar o overlay.
- Reabra a pasta e confirme que título e descrição foram salvos.
- Abra uma pasta existente.
- Clique no botão de lixeira para excluir a pasta.
- A pasta deve desaparecer do grid principal.
- Abra a Lixeira e confirme que a pasta está listada.
Na interface é possível exportar as notas atuais clicando em Export. Um arquivo
terminado em .fastnotes.json será baixado contendo todos os dados.
Para restaurar, clique em Import e escolha um arquivo exportado anteriormente. A página será recarregada com o conteúdo importado.
- Clique em Login e autorize o acesso ao Google Drive.
- Edite ou crie cards e aguarde alguns segundos.
- Atualize a página e verifique se o botão exibe Logout.
- Os dados devem ter sido sincronizados com o arquivo
fastnotes-backup.jsonna pasta AppData do Drive.
The interface defaults to the browser language and supports English (en) and Portuguese (pt).
To override the detected language, set the lang key in localStorage and reload:
localStorage.setItem("lang", "en");
location.reload();You can also change it at runtime from the console:
i18n.setLanguage("pt");Container buttons and the default container title now use translation keys.