Giter Site home page Giter Site logo

freyamade / nocturne Goto Github PK

View Code? Open in Web Editor NEW
12.0 1.0 2.0 1 MB

[Backburner] Crystal / Amber Framework Village Builder web application

License: MIT License

Crystal 87.01% JavaScript 6.54% CSS 5.78% Shell 0.21% Dockerfile 0.47%
crystal dnd5e village-building webapp amber-framework nocturne

nocturne's Introduction

Nocturne

Waffle.io - Columns and their card count Amber Framework

This is a webapp written in Crystal and powered by Amber Framework, which forms the base layer of the entire Nocturne Project by providing the first interface for the players and DM to interact with.

Contributing

See the Waffle Board to see what needs to be made for the system :)

  1. Assign yourself a card on the Waffleboard that you wish to work on
  2. Fork it ( https://github.com/crnbrdrck/nocturne/fork )
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

Contributors

  • crnbrdrck Ciaran Broderick - creator, maintainer

nocturne's People

Contributors

strum355 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

nocturne's Issues

Update to Crystal 0.25

Amber just had Crystal 0.25 support merged into master so if it hasn't already, Amber 0.8 is ready.

Since I already upgraded Crystal to 0.25 on my PC I've been waiting for this. Now I can go in and upgrade / fix this project to work in Crystal 0.25.

Also, since amberframework/amber#825 was merged, which updated the dependency versions to fix auditing issues, I should updated the deps for the project too.

Notification Middleware

Add middleware to the pipeline that checks for Notifications (new table) and use flash to display them to users who haven't seen them yet

Testing on Crystal 0.26.1 and Amber 0.9.0

I wonder if your current shards pointed to 0.8.0 could work with Amber 0.9.0 and Granite 0.14.0 ?
I find a confusing macro error with Granite:

instantiating 'Village#village_buildings()'
in src/models/village.cr:7: expanding macro

  has_many :village_buildings
  ^

in macro 'has_many' /Users/crystal/Downloads/nocturne-master/lib/granite/src/granite/associations.cr:52, line 8:

   1.
   2.
   3.
   4.
   5.
   6.
   7.     def village_buildings
>  8.       Granite::AssociationCollection(self, VillageBuildings).new(self, "village_id", nil)
   9.     end
  10.

undefined constant VillageBuildings (did you mean 'VillageBuilding')

Admin Pages for Build Queue

Build Queue admin pages

  • List
  • Create (done as part of the relation model instead of here)
  • Read (done as part of the relation model instead of here)
  • Update
  • Delete

`npm audit` issues

There are some Node packages with vulnerabilities.

I tried to upgrade them but it ended up breaking the Amber build.

Can someone better at Node than me pls have a go thank you

Explanatory Index Page

Turn the index page into a place with descriptive cards explaining the purpose of the website.

Only players should be able to access the village building aspect itself

Clean up current Admin Controllers

After finishing all of the initial model admin controllers, take a look at the paradigm that it uses and see if we can streamline it in any way

Finish Admin setup for Building Model

The building model has list and create pages done, but the read and update pages still need to be made and handled

  • List
  • Create
  • Read
  • Update
  • Delete

Build Request Page

Here the Players will be able to request new buildings / upgrade buildings

Trade Routes

I don't plan on implementing trade routes between villages until Ch3 or 4 but we need to think about them sooner rather than later.

Essentially we will want the players to be able to set up trade routes between villages which is basically a resource generator. A couple of bullet point thoughts about them;

  • Every village in the database should have a trade route to Nocturne in some manner
  • Each village should give different items, giving reason for all of the trade routes
  • Trade routes can be improved, increasing either speed of trade or amount of resources gained or both
  • Some villages (later) can have sea trade to one of the coastal villages. If these routes are set up we can assume the same idea as having a direct trade with Nocturne

Native Mobile Apps

Should I make a co-inciding Android App?

My intention is to make this site a PWA but it might be nice to leverage native Android Stuff too...

Possible ARG?

Tim just gave me an idea that the front page instead of just saying what the hell is Nocturne should glitch out and show some code / base 64 encoded text after a little while?

This could lend itself to an ARG which would be pretty cool to do maybe idk

Testing at some point

Should probably do some testing of the system.

It's more the player side functionality that needs testing though so I'll do it as I do the stuff for the people to see

Village Overview

Provide a village overview that provides information at a glance about stats in the village

  • Building Levels and Counts (for non-unique buildings)
  • Resource Levels
  • Population Balances
  • Crafter Levels
  • Item currently under construction + Time left

Also admin controls on the page

  • Advance time in hours (0.5 steps)

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.