Git Product home page Git Product logo

actorsgallery's People

Contributors

philipeano avatar

Watchers

 avatar  avatar  avatar

actorsgallery's Issues

Implement CharacterData service

Define CharacterData class to implement ICharacterData interface.

Implement the following required methods:

  • GetAllCharacters() (with optional sort parameters FirstName, LastName or Gender)
  • GetAllCharacters() (with optional filter parameters Gender, Status or Location)

Implement the following additional methods:

  • CreateCharacter()
  • UpdateCharacter()
  • DeleteCharacter()

Implement CommentData service

Define CommentData class to implement ICommentData interface.

Implement the following required method:

  • GetAllComments() (sorted by Created DESC; each Comment object includes CommenterIPAddress and Created)

Implement the following additional methods:

  • GetCommentsByEpisode()
  • UpdateComment()
  • DeleteComment()

Implement EpisodeData service

Define EpisodeData class to implement IEpisodeData interface.

Implement the following required methods:

  • GetAllEpisodes() (sorted by ReleaseDate ASC; each Episode object includes NumOfComments)
  • SearchByCharacter() (accepts a CharacterName argument; returns list of episodes the character featured in)
  • AddComment() (accepts a Comment argument; enables users post comments targeting an episode)

Implement the following additional methods:

  • AddCharacter() (necessary for populating episodes with characters)
  • CreateEpisode()
  • UpdateEpisode()
  • DeleteEpisode()

Refactor for code re-use and maintainability

  • Define Fetcher class for routine, repetitive data retrieval
  • Define Validator class for all input validation needs
  • Define Formatter class for custom rendering of HTTP responses
  • Define any supplementary custom types to enhance code re-use

Deploy Actors Gallery v1 on Heroku

  • Publish solution in release configuration
  • Add Dockerfile and build Docker image
  • Set up hosting environment on Heroku
  • Set up MySql add-on on Heroku with ClearDB
  • Run migration on production database
  • Seed production database, if necesssary
  • Update GitHub repository with live demo link

Configure Web API project

  • Set up folder structure
  • Configure project dependencies
  • Register required services in Startup.cs for dependency injection
  • Configure Request pipeline plus error handling in Startup.cs

Implement Characters controller

Define Characters controller class with the following actions:

  • GET /api/characters?sort_by={key}&sort_dir={dir}
  • GET /api/characters?filter_key={key}&filter_val={value}

Deploy ActorsGallery v1

  • Set up hosting environment on Microsoft Azure
  • Set up MySql production database on Azure
  • Seed production database with sample data
  • Publish ActorsGallery to Azure
  • Update GitHub repository with live demo links

Define data service contracts

Define interfaces, one for each entity:

  • ICharacterData interface
  • IEpisodeData interface
  • ILocationData interface
  • ICommentData interface

Create core project with data models

Define entity classes with their respective properties:

  • Character class
  • Location class
  • Episode class
  • Comment class

Define enumeration types required in entity classes:

  • Status enum (active | dead | unknown)
  • Gender enum (male | female)

Enhance entity definitions with:

  • Data annotations
  • Relationships

Implement Episodes controller

Define Episodes controller class with the following actions:

  • GET /api/episodes
  • GET /api/episodes?q=char_name:{value}
  • POST /api/episodes/{id}/comments

Create API documentation

  • Install and configure Swashbuckle.AspNetCore (Swagger)
  • Generate OpenAPI specification
  • Generate Swagger UI documentation
  • Update README file

Setup database

  • Install and configure MySql on development machine
  • Install Entity Framework Core along with dependencies
  • Create MySql data context class in ActorsGallery.Data project
  • Scaffold database with EF Core Code-First approach

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.