It's Your World/Web App
From NexusCrossing
Here I will discuss design aspects of the IYW Web App.
Once it is live, I will also include a link. :-)
Contents |
[edit] A New Beginning
A lot has happened since this page was first created. One of the biggest things is that I am starting to learn about Django now, and will likely be doing the project in Django instead of Rails. I will start restructuring this page and gathering my thoughts.
[edit] Stuff Exported From the Forum
Moved To a Separate Page for Now
[edit] "Design Doc"
I will be adding the following information with the assumption of using Rails 3.0 (since that is what I am using). I am using MySQL for the database back end.I will start updating this information. A lot of what is here at this stage won't need major changes. The biggest thing is that anything language or framework dependent will change based on the move to Python/Django.
[edit] List of Models
Models: User - The Players Deity - The Character City - Cities Population - Members of a race in a city. Monument - Major things created by/for or dedicated to a deity Artifact - Items created by the god that do not fall under monuments or special beings SpecialBeing - Creatures in the service of the deity that do not follow the normal rules.
[edit] Relationships of Models
User email:string hash_password:string has_many :deity Deity name:string belongs_to :user has_many :city has_many :population through :city has_many :monument through :city has_many :special_being through :city City has_many :population has_many :monument has_many :artifact has_many :special_being
[edit] Fleshed Out Models
User name:string - The user's login name email:string - The user's email address, in case their password is lost. password:string - An encrypted password Deity name:string - Name of the Deity user_id:integer - User it belongs to description:text - Deity's description public:boolean - Is it publicly viewable? (usually false) notepad_player:text - A notepad only the player can see notepad_gm:text - A notepad only the GM can see notepad_shared:text - A notepad that the player and the GM can see City name:string - Name of the city description:text - Description of the city deity_id:integer - Deity that owns the city Race name:string description:text power_ratio:integer - Population required to generate 1 power point per turn growth_rate:integer - Population required to generate 1 population member per turn Population name:string - Name of the population (race, etc) race_id:integer - The race of the population group city_id:integer - City that the population lives in deity_id:integer - Deity that the population worships description:text - Description population:integer - Number of members Artifact name:string - What is the name of the artifact? deity_id:integer - Who owns it? description:text - Describe the artifact and what it does? notes:text - These are various notes about the artifact that don't fit descriptoin. power:integer - How much power does it generate? upkeep:integer - What is the upkeep cost if any? capacity:integer - How much power can it store? stored:integer - How much power is it currently storing? construction_counter:integer - How many weeks until it is finished being built?
[edit] Comments on Layout
For the current version of the application, I will make some decisions based on my current skill level.
- If two gods are in a city, then there will be two instances of that city. Interactions between two populations will not be 100% automated yet.
[edit] Controllers
Home index help about
User login logout dashboard register
