--
StoryArch is a creative tool aimed at helping writers build their narratives more efficiently. It streamlines the process of structuring a story, enabling users to outline their plots, build characters, and track story progress effortlessly. The idea was to develop a non-web-based software application in Java to support individual and collaborative plot development for stories. The application is expected to be deployed on laptops and desktops.
- Java 17
- Intelli - J Ultimate
- Git
- JUnit 5
- Terminal folder - Terminal View
- src - Back end development folder
Terminal Usage or IDE Based For Backend :
- Compile all files using javac *.java or open using an IDE (Preferably Intelli-J)
- Run the MainApp.java file using java MainApp
- To access the Projects, Storyboard or chapter -> a random ID is assigned, this can be viewed using (the View option).
- Users must register with the application before they can use it;
- Each story has a project associated with it;
- A story plot can be developed by an individual or a team of writers
- The free version of the application supports individual writers, with each allowed a maximum of 10 projects
- The paid version (via annual subscription) adds support for teams and unlimited projects;
- The application should allow users of the free version to upgrade to the paid version at any time;
- The paid version should remind users of upcoming subscription deadlines and allow them to renew using an external payment service;
- When there is a team of writers, the story has a chief writer who sets up a project in the application for that item and invites the rest of the team to join;
- The application should provide graphical and textual interfaces for plot development;
- Plots do not have to be developed in a linear fashion;
- When there is a team of writers, each writer can work on a different part of the plot simultaneously;
- The application should maintain versions of the plot based on commits by writers;
- It should be possible for writers to work in ‘offline’ mode when they are not connected to the network;
- The application should allow writers to visualise the story in chronological or chapter order;
- Writers should have the option of making use of and paying for external illustration services;
- The application should generate chapter outlines as text files to be used with other word processing applications;
- Writers should be able to submit plots to publishers (who are external to the system) via existing APIs.
Classes Tested:
- Model Layer: 5
- Service Layer: 5
- Clone the repository from GitHub server.
- Create a new branch for your feature or bug fix.
- Write unit tests for your code.
- Implement your feature or bug fix.
- Ensure all tests pass.
- Commit your changes and push to your branch on the GitHub server.
- Submit a merge request to merge your changes into the main branch.
This project is done part of coursework of CS5033 - Software Architecture of the
Computer Science Dept of University of St.Andrews.
This project is licensed under the MIT License.
See the LICENSE
file for more information.