Skip to content
This repository has been archived by the owner on Jun 30, 2023. It is now read-only.

fokosun/Checkpoint4

Repository files navigation

TECHADEMIA

Build Status Coverage Status

Techademia is a learning management system. It's an app built to help people learn various technologies from categories such as DevOps, Programming, Games Development and Design patterns.

A user can access the app either as a guest or as a registered user. Alternatively, a user can sign in via social media (facebook, twitter or github).

##Project Features:

  • User registration
  • Login via OAuth (facebok, twitter and github)
  • User profile Management (user settings)
  • User area (This is the user's space. Here, the user can manage his/her videos)
    • upload a youtube video using the video link
    • edit an uploaded video
    • delete a video
    • see all videos in a particular category
  • Guest users can only watch videos posted by other users

Techademia is an open-source project. Feel free to fork or clone it and make it better! If you intend to be a contributor, the following guide lines will be useful to you:

##Installation

git clone [email protected]:andela-fokosun/Checkpoint4.git

##Usage Make sure your .env file looks like this:

    APP_ENV=
    APP_DEBUG=
    APP_KEY=

    DB_HOST=
    DB_DATABASE=
    DB_USERNAME=
    DB_PASSWORD=

    CACHE_DRIVER=
    SESSION_DRIVER=
    QUEUE_DRIVER=

    FACEBOOK_ID=
    FACEBOOK_SECRET=
    FACEBOOK_REDIRECT=

    TWITTER_API_KEY=
    TWITTER_APP_SECRET=
    TWITTER_CALLBACK_URL=

    GITHUB_CLIENT_ID=
    GITHUB_CLIENT_SECRET=
    GUTHUB_CALLBACK_URL=

Run:

php artisan migrate

In this app, by design we have only four categories. You can run the seeder to populate the categories. You can use any approach that suits you. To run the seeder, run:

php artisan db:seed

or

php artisan db:seed --class=CategoriesTableSeeder

After that run:

composer install

To pull all the dependencies

Feel free to change the namespace to your desired namespace. Just run:

 php artisan app:name "Your namespace"

Ensure to run composer dumpautoload after running this command.

##Testing Run

phpunit

##Classes

- AuthenticateUser
- User
- Video
- UserRepository
- Videorepository
- HomeController
- UserController
- VideoController

##Final notes

PHP/Laravel + bootstrap is all you need!

see live demo

Happy coding!