https://github.com/ajaymahadeven/StoryArch
To develop a non-web-based software application in Java to support individual and collaborative plot development for stories.
https://github.com/ajaymahadeven/StoryArch
back-end client-server-architecture git intellij junit5 learn mvc-architecture writing-application
Last synced: about 1 year ago
JSON representation
To develop a non-web-based software application in Java to support individual and collaborative plot development for stories.
- Host: GitHub
- URL: https://github.com/ajaymahadeven/StoryArch
- Owner: ajaymahadeven
- License: mit
- Created: 2023-03-20T13:04:43.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-08T11:49:15.000Z (over 2 years ago)
- Last Synced: 2025-03-14T08:51:23.434Z (about 1 year ago)
- Topics: back-end, client-server-architecture, git, intellij, junit5, learn, mvc-architecture, writing-application
- Language: Java
- Homepage:
- Size: 1 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
# StoryArch - Plot development Application for writers
--
## DESCRIPTION
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.
### Technologies Used
* Java 17
* Intelli - J Ultimate
* Git
* JUnit 5
---
### FILE STRUCTURE :
- Terminal folder - Terminal View
- src - Back end development folder
## SETUP AND INSTALLATION
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).
---
## FUNCTIONALITIES :
- 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.
---
### No of Test Cases: 93
Classes Tested:
- Model Layer: 5
- Service Layer: 5
### Test Coverage :

### CONTRIBUTION GUIDELINES :
- 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.
---
### License
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.