Giter VIP home page Giter VIP logo

mynotes-app's Introduction

Project: MyNotes Web App

  • MyNotes is a hybrit note taking web app based on widgets.
  • Users can signup or login with mail.
  • Users can take notes with advanced editor, voice notes, create task lists, set events and sync with Google Calendar.
  • Some features are not cross browser yet. Google Chrome is recommended browser to test demo.
  • MyNotes is a final personal project of Social Hackers Academy Front End Development Course
  • More features, bug fixes, updates will come as the development process continues.
  • Project is divided in 3 paths, at the end of production there will be 3 versions. Web (React), Mobile (React Native) & Desktop (Electron).

Technologies & Tools Used

  • JavaScript
  • React
  • React Router Dom
  • Context API
  • Material UI
  • Google APIs
  • JS Speech Recognition
  • Firebase auth, firestore & firebase hosting.
  • 3rd party libraries ( CKEditor, Splidejs )
  • Figma

To use the demo, you can sign up with a dummy email (for exampple: [email protected]).
Note that Voice Note feature is currently in experimental status and works best in Chrome.
Project DEMO

Project Images

  • Login/Signup
    Login/Signup

  • Home
    Home

  • Notes Notes

NoteEditor

LargeEditor

  • Tasks
    Tasks

  • Info
    Info


Task List (Sprint 1 / Status: Completed)

Stage I // Design & Prepare React Environment

  • Design project components & widgets in Figma.
  • Create React Environment in local.
  • Install Packages.
  • Create folder structure.
  • Code basic outlines.
  • Implement React router structure.
  • Build Material UI custom theme.
  • Build side nav & implement redirecting.

Stage II// Build Widgets

  • Build Home, Widgets, ContextAPI structure.
    1. Notes Widget, implement Sliderjs to show cards.
      • In here, notes will be read only. Add routing on click.
      • Implement Sliderjs and make adjustments.
      • Add editor drawer.
    2. Instant Note Widget.
      • Implement a form & text field which will allow user to create basic/undecorated text notes.
    3. Voice Note Widget
      • Implement Google Speech-to-Text API. ( Will be added in second sprint )
      • Add JS Speech Recognition. ( This is an experimental feature, will be replaced with Google Speech-to-Text API )
      • Check the user's browser to display widget in the home page or not.
    4. Task List Widget.
      • Make each task appear in card, user only allowed to change checkbox status.
      • Build in-component drawer for input group.
    5. Events Widget.
      • Build in-component drawer for input group.
      • Implement Google Calendar API and sync events. (Update-only for now)

Stage III // Build Components & Deploy

  • Build Notes Component.
    1. Display notes in separate cards and each card should have delete, edit, update button. (Appear at hover)
    2. Make instant edit feature. User will edit the text directly in the card without opening editor.
    3. Make the 'New Note' button and open editor drawer on click.
    4. Build a submit in Editor handling mechanism which will decide to edit or create new note.
    5. Implement CKEditor5 Classic Editor.
  • Build Tasks Component.
    1. Build input drawer & 'New' button.
    2. Display each task list in a card. In cards, every task list item will have checkboxes & delete buttons.
    3. Make each editable, user can edit text directly.
  • Auth
    1. Install Firebase & create project in Firebase console, enable Email & Google Sign In methods.
    2. Create real time database in Firestore.
    3. Build Login/Signup/Logout components.
    4. Refactor Routing, add redirect.
  • Build static components.
  • Refactor CSS, create a Context to distribute common styles.
  • Deploy.

Update List

  • Add user feedback, manage & display errors properly.
  • Improve Auth. Add Google sign in.
  • Store user data in Firestore, create a data structure for every user & store everything.
  • Update events, sync user's all events from Google Calendar and display in widgets. Add reminders & send sms/email notification to users.
  • Update Voice Note feature, make it cross browser. Switch to Google Speech-to-Text API.
  • Update Note Editor. Allow users to upload documents & media files.
  • Update Instant Note, add Balloon Editor.
  • Implement Voice Command feature to navigate and use the app.
  • Update task list input group, add Balloon Editor.
  • Update side nav, make it treeview, display categories.
  • Implement dynamic search bar.
  • Create user profile area & make it editable.
  • Add finance & email widgets.
  • Make the notes downloadable & shareable in pdf, word, docs formats.

mynotes-app's People

Contributors

cetincakiroglu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

caglarylmz

mynotes-app's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.