Short movie streaming platform for College students. Allows verified college students to upload short movies that can be watched by all authenticated users on the platform

  • By Zuri Training
  • Last update: Aug 29, 2022
  • Comments: 10

COREELS Project Documentation {intro}

A short movie streaming platform developed by Team 118 of Zuri/I4G Training Participants Movies are uploaded only by Verified College students but can be streamed by anyone from anywhere around the world as long as they're signed into their COREELS account.

Installation {installation}

The project is built and deployed with Django and below are instructions on how to set it up and run it locally on your system.

  1. Clone a Copy of the Project. Clone a copy of the project from GitHub or extract the zipped archive into a directory on your computer where you can easily access it.

  2. Download and Install Python 3

    • Go to Python and install it on your computer.
    • Open your terminal and type python --version. If you see output similar to Python 3.10.4 then you have successfully installed python.
  3. Create a Virtual Environment

    • Open a terminal and cd into the folder/directory where you cloned your copy of the COREELS project into.
    • Run python -m venv venv to create a virtual environment for your project.
    • Once your virtual environment has been created, run venv/scripts/activate (Windows users) OR source venv/bin/activate (Linux/Unix-like users).
    • If everything goes well, your terminal prompt will be prepended with venv.
  4. Install Required Packages Now that python and virtual environemnt is set up;

    • Run where.exe python (Windows users) OR (Linux/Unix-like users) on your terminal. If everything works well so far, you should see output similar to below output on your terminal.

      C:\Festus\Codes\Organisations\Zuri\coreels\venv\Scripts\python.exe
      C:\Users\FESTUS\AppData\Local\Programs\Python\Python310\python.exe

      Where each of the output line is a path to executabe python file.

    • Now install required python packages by running: pip install -r requirements.txt.

    • This command will install all the required packages that have been listed in our requirements.txt file.

How To Use {how-to}

Follow below steps to run the project and test how it works.

  1. Ensure you're in same location as the file manage.py and that your virtual environemnt is still activated.
  2. Type python manage.py migrate.
  3. If everything works as it should, django will use migrations file in the project apps and create a new (sqlite3) database in the same location as manage.py file.
  4. Create a superuser account by running: python manage.py createsuperuser command on the terminal. Provide desired username, email address, password and password confirmation as being prompted.
  5. Next, run python manage.py runserver. This will start a development server on localhost on port 8000 which can be accessed via: http://127.0.0.1:8000/

That is all. You can now visit above address to see the content of the website and start playing around with the functionalities.

Developers {developers}

This project was built, developed and deployed by Team 118 of Zuri/I4G training participants. The project idea was from Zuri.

License {license}

The code is MIT licensed. To understand your rights, privileges and limitations better, please refer to the LICENSE.

Thanks & Credits {credits}

We sincerely appreciate the organizers of this training (I4G/Zuri) and their partners for giving us the opportunity to participate and learn from the best teams, tutors and mentors all for free.

Github

https://github.com/zuri-training/Team-118-Col-Films

Comments(10)

  • 1

    Task 19

    Worked on the backend script for the video module of the project

    • Allow all users to view the different videos on the platform.
    • Restrict upload functionality to only registered and logged users.
    • Restrict video editing and deleting features to only the user that posted it.
    • Map registered users to the videos they uploaded such that if their accounts get deleted, all their videos get deleted along
  • 2

    Implement Basic Project Structure

    Bootstrap project basic structure

    • Add database models/tables
    • Create views
    • Add URLs
    • Create template structure
    • Placeholder templates for common pages across the site
    • Make the project ready to deploy.
  • 3

    FRONTEND: Build Code of seven different pages

    • @Festusali please merge the pull request. I'm pushing it to a branch I opened on our repository 37-build-the-frontend-of-6-pages. I'm not pushing to the main. The repository contains the landing page, team's page, login page, sign-in page from @Preciousglows, FAQs page, trending page, and the explore page. You can check the pages out from this server: https://coreels-team-118.netlify.app/
    • You can tag me when necessary.
    • @NsikanPatrick You can also start working on the pages on this repository. It contains most of the pages you'll need for the backend.
    • If there's any complaints, please call me. I'm not always online.
  • 4

    Create tasks.md file

    #Create A File Used To Track Members Contributions

    Create a file named tasks.md that team members can modify to include the tasks they worked. In the file, give them a simple guide on how to modify the file in other not to override another user's contributions too.

  • 5

    Add Coreels Codebase To Git Version Control

    • Implement basic project structure
    • Implement basic database models/tables
    • Design template layout and structure
    • Include template placeholders for common pages across the platform
    • Deploy basic site for testing purposes
  • 6

    Tasks Assigned to Joshua Ekwonye (Team Member)

    The tasks below were assigned to @iamjooshua

    Each task links to an issue that give more details about what @iamjooshua has done.

    • [ ] Design registration page
    • [x] Profile page
    • [x] login page

    Please see comments below for links to the tasks I worked on.

  • 7

    Tasks Assigned to Precious Worukwo (Team Member)

    The tasks below were assigned to @Preciousglows

    Each task links to an issue that gives more details about what @Preciousglows has done.

    • [x] #23
    • [x] #36
    • [x] #39
    • [x] #41

    Above is the summary of what @Preciousglows worked on

  • 8

    Tasks Assigned to JET-Pro (Team Member)

    The tasks below were assigned to @JET-Pro

    Each task links to an issue that give more details about what @JET-Pro has done.

    • [x] #35
    • [x] #34
    • [x] #33
    • [x] #14

    Above are summary of what the @JET-Pro worked on

  • 9

    Tasks Assigned to Jeremiah Lateef (Team Member)

    The tasks below were assigned to @jeremiahlateef

    Each task links to an issue that give more details about what @jeremiahlateef has done.

    • [x] #40
    • [x] #37
    • [x] #25
    • [x] #24
    • [x] #21

    Above are summary of what the @jeremiahlateef worked on

  • 10

    Tasks Assigned to AJAO JELIL AKOREDE (Assistant Team Lead)

    The tasks below were assigned to @Ajao95

    Each task links to an issue that give more details about what @Ajao95 has done.

    • [x] #7
    • [ ] #46
    • [ ] #45
    • [ ] #44
    • [ ] #43
    • [ ] #42

    Above are summary of what the @Ajao95 worked on