GithubHelp home page GithubHelp logo

note_arthur's Introduction

Note Arthur

A simple note taking web application.

Term Project for CEN 4020 - Software Engineering

#Database Information

The actual database schema is found in the app folder, in models.py. This file has the user, section, note, and tags categories. All the other files are set up to let flask use this schema and store information.

#Instructions for running the website on a local host

The commands you have to use in command prompt (assuming Windows) are: "set FLASK_APP = app.py" This command makes all your future commands with the word flask recognize you want to interact with your app.py

The next command you want to use is: "flask db init" This command intializes a database. If you type in "flask db" you can see various commands to interact with the database, it can give you a clearer understanding of what's going on.

Then you want to type in: "flask db migrate" This command migrates the database, which is when you want to update the database's schema. Since you just intitialized the database, you will of course have to migrate so it can get the current database schema. This command does not make a permanent saved change however, and to do that you must use the command: "flask db upgrade"

After all 4 of these commands, if you type in "flask run" in your terminal you should be able to access the website via local host.

note_arthur's People

Contributors

donglin1111 avatar zwbeast avatar rbhuyan avatar wubo1994 avatar heyitsmiike101 avatar

Stargazers

 avatar

Watchers

Uda Yeruultsengel avatar  avatar

note_arthur's Issues

Search functionality (Client-Side)

Implement the search functionality on the client-side (JS):

  • Create the UI elements on the top navigation bar
  • Event handler functions (search button's onclick, input box's onkeydown for the ENTER key)
  • Logic to search through the DataStore on the client-side
  • Logic to send the request to (and receive the response from) server to search through the database

Active Sessions.

In this issue, I had opened the application in Chrome and then attempted to open it in Safari and Firefox. I eventually closed it in Chrome, and it wouldn't load on refreshing the other pages until i reopened the application in chrome.

UI implementation of inserting additional notes

If we press enter to add additional notes, and then leave that section blank, it creates a blank bar under the filled in sections. We should make it so that if someone enters in a note section that is completely blank, it just does not enter anything.

Implement Timer Logic

We need to create a timer on the front-end side that will call the SaveDataStore() Function periodically.

optimize timer logic

Once issue #15 is implemented, modify so that only modified data store elements are sent to the server.

Issue with creating new note

When more that one session is active, the newly created note is duplicated resulting in two newly created notes with the same name.

Remove Duplicate Results from the Search Bar

Currently we can have the same table show up multiple times if we search for something that shows up repeatedly. An example of this is if we have some Table with notes: "Hello1" and "Hello2", just searching for "Hello" will print that table twice.

Modify the render function to handle SEARCH and left-nav selection

The left hand side navigation drawer gets correctly populated/rendered but does not correctly update the sections list.

Also, the render function needs to handle/support the SEARCH functionality.

Modify the render function (i.e. "updateDOMFromDataStore") to take a custom DataStore object instead of rendering directly from the global DataStore object.

Invoke the save function on all user interaction

Currently, the save function to sync the client-side DataStore with the DB is setup to fire on a periodical basis.

Modify all user interaction events (add button click, note/section modification, etc.) to invoke the save function.

Search Functionality (Server-Side)

Implement the functionality to support the search requests on the server-side:

Zhen will write the necessary functionality for the client-side (to send the request)
Create the necessary logic to receive/handle the SEARCH requests (a new function in the routes.py file)

  • This new function should grab the user entered input from the request.form object
  • Build the SQL statements for each table
    • dataSections -- write the query to grab all sections that have titles/tags that match the user entered text
    • dataNotes -- same thing for notes
  • Run the SQL statement to grab all records that matches the user's input, and build the DataStore object

Note:

  • This function should return the sections/notes in the same structure/format as the DataStore object (via JSON)

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.