Skip to content

javatures/cid-proj-1-good-call

Repository files navigation

Project 1: ghuD On The Web

A Java 8 backend web API and ES6+ HTML/JS web interface with a PostgreSQL database. Submit a README.md with a proposal that matches as many requirements as manageable below. You may use the example proposal below for reference, or as your project itself. Tools & APIs

  • Agile User Stories
  • Java SE 8
  • Gradle
  • JDBC
  • PostgreSQL
  • JavaEE Servlet
  • HTML/JS/CSS
  • AJAX/Fetch
  • JUnit
  • log4j or similar
  • Jest or similar JS testing framework
  • Optional:
    • Docker, Docker-Compose
    • React
    • Bootstrap
    • Remote hosting (AWS EC2/RDS)
    • Jenkins CI automation
    • Mockito

Architecture

  • Anemic/DDD OR n-tier package & class structure
  • Design Patterns:
    • Dependency Injection
    • Data Access Object
    • Business Delegate
    • Model-View-Controller
    • Front Controller
  • SQL Normalization (3rd form)
  • PL/pgSQL
  • Optional:
    • Single Page Application

Functionality

  • CRUD - Create, Read, Update, Delete
  • Web App dashboard interface
  • Asynchronous interface updates
  • Login - Authentication & Authorization
  • Database persistance
  • Session management

Presentation

  • Prepare a demonstration of functionality requirements through a browser
  • Prepare visual aides (slides) introducing the project requirements and features

Roadmap

Typical Stops

Brain Freeze Uploads

  • image file location reference in database

Perspective Changes

  • Perspective change via button
  • Reflective perspective: inward-facing view with additional thought features
  • Expressive perspective: outward-facing view with additional vibe and soul features
  • Improved Headspace view: consolidate data via sql views
  • CRUD Operations view button on table row

Highlight Destination

Breadmaker

  • feed(Crumbs)
  • make(Slice slice = new Wisdom())

User Stories

As a ghuD Person, I can... - [x] login to my ghuD so that - [x] view my Headspace so that - [x] logout of my ghuD so that - [x] create a Thought so that - [x] forget a Thought so that - [x] update a Thought so that - [ ] upload a Brain Freeze so that I can build my Muse so that - [ ] view an individual Brain Freeze so that - [ ] view my Muse- my collection of Brain Freezes so that - [ ] view my Scoop- my story for the day so that - [ ] can write my Scoop so that - [ ] receive an emailed Scoop so that

As a ghuD Friend, I can... - [ ] change my Perspective from Refelctive to Expressive so that - [ ] change my Perspective from Expressive to Refelctive so that - [x] view my collection of Souls so that - [x] create a Vibe so that - [x] cancel a Vibe so that - [x] update a Vibe so that - [x] view all Vibes so that - [ ] view a Brain Freeze of a Soul so that - [ ] view a Wavelength of Vibes between myself and a Soul so that

Glossary

ghuD System

A system for tackling the quotidian- the day-to-day data... for the day. Optimal in its most ethereal form- a simple mental construct. Think of all ghuD Technology as training wheels for ghuD Persons to eventually operate completely independent of external devices/constructs.

Key Componenents Of A ghuD System:

Frames Of Mind

Love Live Learn Earn

Headspace Locations

Top Of Mind Front And Center Bottom Line Forgotten

ghuD

Great Heads Up Display- a tool to help one implement the ghuD System. A ghuD is meant to get ghuD Persons in, out and about- very simply and very quickly. Use it to get started, but don't be distracted from what truly matters- what is in front of you and behind the screen.

Person

Synonymous with a user, but ghuD Developers are people-first people, so person is preferred over user... to each their own. Important to note that the Perspective here is Reflective.

Headspace

Where the magic happens

May be likened to a Kanban filled with Thoughts- consider using Headspace Locations as stages and Frames Of Mind as lanes. It's a ghuD idea to keep this organized and full- but only enough so that one may end each day with it cleared. It's very important to keep the Theory Of Constraints in mind.

Suggested readings:

The Phoenix Project The Goal

Thought

May be likened to a task. These fill one's Headspace until cleared- an experience of joy when done so, especially expeditiously.

Vibe

Signals sent from one soul to another.

Brain Freeze

A portrait of a Soul

Muse

A collection of Brain Freezes From Wikipedia: The word muse is also sometimes used for a person who inspires somebody else, or any other type of inspiring object. Muse can also be used to describe one's creative thoughts, such as poetry or a musical composition.

Soul

A person or Person that is not oneself.

You don't have a soul, Doctor. You are a soul. You have a body, temporarily.

Scoop

A summary of your Headspace

Friend