GithubHelp home page GithubHelp logo

kamron-h / streaming-seng-3000 Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 7.42 MB

This project began as a RestAPI endpoint assignment and evolved into a comprehensive portfolio piece. It's progressively becoming a fully functional movie and TV streaming website with user authentication, hosted on a live server with a cloud-based PostgreSQL database. The project demonstrates strong web development and database integration skills.

Home Page: https://django-stream.stream/

Python 10.89% CSS 15.71% JavaScript 17.40% HTML 56.00%
bootstrap5 django-rest-framework postgresql crud django

streaming-seng-3000's Introduction

Software Architecture and Design

Assignment:

Create a C.R.U.D. API, demonstrate functionality, & display the API Endpoints.


Home View. Displaying a carousel of video movie & tv show options in the header, followed by a grid video choices Home-Navigation View. Displaying the navigation list. Video Description View. Displaying a video frame of the selected video, following by the discription, and recommendations of similar films. TV Show List View. Displaying a vertical grid of all tv shows in the database. API Home View. Displaying 2 button options for accessing API features. Register View. Displaying multiple input fields for registration requirements.

Introduction

This assignment focuses on demonstrating skills related to database modeling, web API creation, ORM capabilities, and version control using Git.

Requirements

Models

  • Entities: We've chosen three models for this assignment:

    • Video
    • Actor
    • Rating
  • Annotations: Ensure your models have:

    • Proper annotations for table names.
    • Column names, data types, and constraints.
  • Relationships: Implement a 1-many relationship, e.g., an Actor can have multiple Video entries.

  • Seed Data: Populate at least one table with initial data.

  • Custom Index: Create a custom index on any of the model attributes.

Web API

  • Endpoints: Develop at least 10 endpoints distributed across the three models:

    • 2x GET All (e.g., Get all videos, Get all actors)
    • 2x GET Specific (e.g., Get a video by ID, Get an actor by ID)
    • 2x POST (e.g., Create a video, Add an actor)
    • 2x PUT (e.g., Update a video, Update an actor)
    • 2x DELETE (e.g., Delete a video, Remove an actor)
  • Relationship Access: Retrieve related data, e.g., videos a specific actor has been in.

  • Data Filtering: Implement data filtering in your GET specific endpoints.

  • CRUD Operations: Ensure endpoints for CRUD operations.

  • Endpoint Testing: Test endpoints using tools like Postman. Submit the test cases with your assignment.

ORM

  • Model Updates: Demonstrate database updates based on model changes. Provide before-and-after screenshots.

  • Schema Rollback: Show that you can rollback the database. Include before-and-after screenshots.

GIT

  • Repository: Initialize your project as a git repository.

  • .gitignore: Add an appropriate .gitignore file.

  • Commits: Regularly commit your changes.

  • Submission: Compress your .git folder into Assignment1_LastName_FirstName.zip for submission.

Instructions

  1. Setup: Choose a web framework and ORM.
  2. Database: Design your database tables based on the models.
  3. API Development: Develop and test your API endpoints.
  4. ORM Commands: Update your database with ORM commands. Document each change.
  5. Git: Commit your changes regularly.
  6. Testing: Test each endpoint using Postman or another tool. Save the test cases.
  7. Documentation: Write brief documentation for each endpoint.
  8. Submission: Compress and submit your .git folder.

streaming-seng-3000's People

Contributors

kamron-h avatar

Stargazers

Hamid El messaoudi avatar Robert Jarrett avatar

Watchers

 avatar

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.