pathock / mice-tro Goto Github PK
View Code? Open in Web Editor NEWMice-tro is a web application that will allow users to compose music online.
Mice-tro is a web application that will allow users to compose music online.
Create Apache Tomcat Server on port 8082
Allow data to be retrieved from pages and used in model/controllers.
*Entered account information (on Create profile and Login Pages)
*Save Entered New Composition Data (on Create Composition Page)
*Display all saved compositions for user (profile page)
Write JSP, Servlet, and HTML/CSS for the Home Page. The home page will be the first page brought up when user navigates to mice-tr0.com. This page will display the mice-tr0 logo and basic information about the website. This page will eventually be used to navigate to log-in page.
Composition should include fields:
title: String
author: String
section: array
mode:string
isEditable: bool
Should include methods:
createComposition():composition
deleteComposition():void
changeTitle():string
Some class needs to call InitDatabase in order for all classes to have access to the same instance of a database.
This is bad. Fix it.
Need to use the AWS SDK and other things.
Will check for invalid notes (pitches that don't exist in a key etc).
Write JSP, Servlet, and HTML/CSS for the Log-in Page. This page will:
Two pages can be navigated to from the log-in page: profile page (upon correct entry of account info) or create account page(If create account selected).
A note at a certain pitch should not be added unless all previous notes of that pitch have "finished".
Ex: an A# half note should not be followed by an A# quarter note one beat after the start of the half note, but can be followed by notes of any other pitch.
Write JSP, Servlet, and HTML/CSS for the Create Composition Page. This page will:
Navigation:
*To profile page (if cancel is selected)
*To composition page (if information is submitted)
Need to write servlet unit tests, as well as tests for account controller and mock db.
Currently, CSS styles are in the HTML files. Make one CSS style file and delete CSS from HTML in JSPs.
While implementing a directory structure (Issue #8), I found that this work can be facilitated with the use of a build tool such as Maven or Gradle.
Todo: redo our project as a Gradle project.
Create basic Schema for databases
Create Persistence using arraylists.
Secure SSL will make sure that passwords etc cannot easily be seen as plain text by observers.
pls fix
Just a test
User profile page must be unique and display info related to their account
Consider how HTTP session / login session will be handled.
How long does it take for a login to time out?
Will compositions be accessible via URL? In this case,the session info cannot be stored in the URL. Cookies are a popular option for this.
Embeds tomcat service container into mice-tr0 project.
In Java, variables with scope "protected" can be accessed by subclasses or by classes within the same package.
Instead of putting models and controllers in separate packages, create a package for each "object" (ex: composition, measure etc) so that controllers have access to the variables within their models, but the variables in the models (such as an ArrayList of notes within a measure) are not accessible to other classes.
Write JSP, Servlet, and HTML/CSS for the Create Account Page. This page will:
After successful submission and creation of account, page will navigate to profile page.
Section Class should contain fields:
keySignature: String
timeSignature: enum
tempo: int
sec_ID: String
numberMeasures(): int
clef: enum
beatUnit:int
beatsPerMeas:int
Methods include:
createSection():Section
deleteSection():void
Measure should have fields:
maxNumBeats: int
notes:array [][]
next: measure
Should have methods:
addNote(note,notes[][]): void
deleteNote(note,notes[][]): void
isValidNote(note): bool
populateRest(notes[][]):void
tieNoteLength(note):void
updateNotePitch(note[][]): string
Junits are needed for commit to be successful with jacoco
Remove this logic from the Login servlet.
Add Code Cov, JaCoCo integration with Travis CI, Gradle.
Servlet exceptions should be handled by redirecting to an appropriate error page. As of now, these exceptions are unhandled.
Some useful resources:
https://www.journaldev.com/1973/servlet-exception-and-error-handling-example-tutorial
https://www.programcreek.com/java-api-examples/?api=javax.servlet.ServletException
Implement abcjs to display a staff and notes on the composition page using javascript.
Allow for navigation through all pages
Possibly use another js plugin. Close issue if this is the case.
Write JSP, Servlet, and HTML/CSS for the Profile Page. This page will:
Navigation can occur to three pages: The composition page (if a composition is selected), the home page (if log out is selected), or create composition page (if create new composition is selected).
Make sure our code builds!
Write JSP, Servlet, and HTML/CSS for the Composition Page. This page will:
Navigation can occur to:
*Profile page (if exit composition selected or if Save and Exit is selected)
*Home page (if log-out is selected)
Servlets are creating new models and performing logic that should be done in the controllers...
Login Servlet is one example.
Account Servelet should use Fake Database to add and remove accounts as well as load accounts.
Using a captcha when creating accounts will make the website more secure.
Create skeleton classes and packages.
We need to possibly edit our UML diagram.
Must define the structure / flow of information between models, controllers, and (potentially) object classes.
Note Class should contain fields:
noteLength: int
tied: bool
next: note
previous: note
pitch:string
Should contain methods:
lengthInMillis(note,tempo): float
ifTied(note):bool
Fun, tedious work :)
Will be required for relating pitch objects to database strings.
Import mockito and get started on that
ALSO with servlet 3.0 we don't need the web.xml anymore
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.