One of the fundamental issues with websites in the Maple PS sphere is that everyone wants a unique looking website, but everyone wants the same features. Redoing all your backend logic and styling for every single website is sort of annoying, and even moving to a MVC framework like Laravel or RoR doesn't really
help too much, because you still have to rewrite your templates. MS websites are incredibly simple. There's no reason that changing the UI should be so much work.
Here's the solution. Decoupling the backend entirely
with the frontend. The goal of stormcaster is to create a REST API service, that allows server admins to quickly have a backend up and running. Once the API is working on their server, all they have to do is write a front end website that simply makes POST and GET requests to stormcaster.
- Created project
- Completed registration
- Completed rankings
- Completed news viewing
- Changed project name
- Switched to Laravel for easier JWT integration
- Completed JWT authorization
- Completed UCP actions (just disconnect for now)
- News management (editing, creation, deletion)
- Start vote, most likely will not finish this.
- Moved back to Lumen, confirmed all API endpoints are functioning
- Upgrade from Lumen 5.1 -> Laravel 5.3
- Create unit tests for all existing functionality, and add TravisCI for continuous testing.
- Add CodeCov for test CI
- Add admin middleware to reduce code repetition
- Split admin actions into separate controller
- Add StyleCI for style checking
- Add CORS package for correct preflight headers
- Modify News to generic Posts (encapsulates news/events/blogs into one item)
- Fix control flow and status message mixing design
- Add account password changing
- Switch manual SQL username and password querying with builtin Auth::attempt (removes reliance on weak SHA1 passwords)
- Move voting functionality out of User controller, so that route level middleware can be applied (previously controller-level with exceptions)
- fix rankings to only serve needed information, instead of entire character model
- Add implicit model binding and remove try/catch for post crud