https://github.com/mmvergara/mmv-ashera
Lightweight app that can manage your tasks and notes, yep That's it!
https://github.com/mmvergara/mmv-ashera
chakra-ui firebase react tailwindcss
Last synced: 3 months ago
JSON representation
Lightweight app that can manage your tasks and notes, yep That's it!
- Host: GitHub
- URL: https://github.com/mmvergara/mmv-ashera
- Owner: mmvergara
- License: mit
- Created: 2022-11-07T03:11:46.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-12T08:28:35.000Z (over 3 years ago)
- Last Synced: 2025-03-25T11:22:46.515Z (over 1 year ago)
- Topics: chakra-ui, firebase, react, tailwindcss
- Language: TypeScript
- Homepage: https://mmv-ashera.vercel.app/
- Size: 364 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Getting Started
## About
Ashera Notes lightweight app that can manage your tasks and notes, yep That's it!
- **https://mmv-ashera.vercel.app/**
- **[Github Repository](https://github.com/mmvergara/mmv-ashera)**
- **Deployment Date: November 6, 2022**
### Technologies
- **[React](https://reactjs.org/)**
- **[Firebase](https://firebase.google.com/)**
- **[Chakra UI](https://chakra-ui.com/)**
### [Documentation Link 📃](https://mmv-docs.vercel.app/docs/ashera/getting-started)
## Installation
### Setup Firebase
#### Firebase
Ashera is using Firebase as a backend more specifically 'Firestore' for realtime updates
##### Frontend Setup
```jsx
import { initializeApp } from "firebase/app";
import { getAuth } from "firebase/auth";
import { addDoc, arrayUnion, arrayRemove, collection, doc } from "firebase/firestore";
import { getFirestore, updateDoc, serverTimestamp, deleteDoc } from "firebase/firestore";
//Firebase App Initialize
export const appFB = initializeApp(firebaseConfig);
//Services
export const firestoreDB = getFirestore();
export const authFB = getAuth();
//References
export const taskSectionRef = collection(firestoreDB, "TaskSections");
export const notesRef = collection(firestoreDB, "Notes");
```
##### Cloud Firestore Security rules
- We allow read,update,delete if the user is authenticated and is the owner
- We allow create if the user is authenticated
```javascript
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /TaskSections/{TaskSectionName} {
allow read,update,delete: if request.auth != null && request.auth.uid == resource.data.author;
allow create: if request.auth != null;
}
match /Notes/{TaskSectionName} {
allow read,update,delete: if request.auth != null && request.auth.uid == resource.data.noteAuthor;
allow create: if request.auth != null;
}
}
}
```
### Environment Variables and Dependencies
- Change Config at ./src/Config.tsx
- npm install & npm start
- Fill out .env file
```jsx
MONGODB_URI=
SECRET_KEY_EXP=
HOST=
PORT=
```
- `npm install`
- `npm run dev / npm start`