Skip to content

BAKARIBUBU/DarkRoom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

192 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DARKROOM - Movies/Series Club App

Table of Contents

Overview

Darkroom is a Movies/Series Club app designed to enhance the user experience through seamless organization, virtual screenings, discussions, personalized recommendations, and inclusive engagement tools. This README provides a comprehensive overview of the code structure, functionality, and guidance on getting started with the project.

Screenshots

Movies page

Home Page)

Project Structure

project-root/
├── client
│   ├── eslint.config.js
│   ├── index.html
│   ├── node_modules
│   ├── package.json
│   ├── package-lock.json
│   ├── postcss.config.js
│   ├── src
│   └── tailwind.config.js
├── image-1.png
├── image-2.png
├── image.png
├── k.txt
├── README.MD
└── server
    ├── app.py
    ├── DarkRoom
    ├── instance
    ├── migrations
    ├── models
    ├── Pipfile
    ├── Pipfile.lock
    ├── render.yaml
    ├── requirements.txt
    ├── seed.py
    ├── start.sh
    └── tests

Features

Darkroom provides an extensive set of features for users to engage with movies and series:

  • User Accounts: Sign up, log in, and manage your profile.
  • Community Engagement: Join or create movie clubs based on genres, and interact with posts from individuals and communities.
  • Post Sharing: Add and share reviews, ratings, and thoughts on movies or series.
  • Social Connections: Follow/unfollow members inside or outside movie clubs.
  • Personalized Tracking: Maintain a record of watched movies and share your experiences.
  • Discussions & Reviews: Comment and rate posts shared by others.

Usage

Once the application is running, users can:

  • Sign Up: Create an account by providing necessary details.
  • Login: Access their account using their credentials.
  • Manage Profile: Update their profile information.
  • Create Posts: Share their movie-watching experiences.
  • Join Clubs: Explore

Getting Started

Prerequisites

Ensure you have the following installed on your machine:

  • Node.js (v14 or later)
  • npm (comes with Node.js) or yarn
  • Python (v3.12)
  • Pipenv
  • PostgreSQL

Installation

  1. Clone the Repository

    git clone https://github.com/yourusername/darkroom.git
    cd darkroom

    Replace <my-project> in the above comamnd with your desired project name

  2. Set Up the Backend

    Navigate to the project root and install Python dependencies using Pipenv:

    pipenv install

    Activate the Pipenv shell:

    pipenv shell
  3. Set Up the Frontend

    Navigate to the client directory and install Node.js dependencies:

    cd client
    npm install
  4. Initializing git

    • Create a an empty git repository on a github account of your choice.

    • The name of the repository should be guided by the name of the folder you selected in step 1 above

      In my case, I named the copy of the starter project DARKROOM.

      So my new github repository will consequently be named DARKROOM

    • Note: Do not initalize the repository with a README.md file, a .gitignore file or a LICENSE.md file as demonstrated below

      Repo setup

    • Click on the create repository button

      Create repo

    • Create your first commit

      First commit

  5. Start the Flask Backend

    Ensure you're in the Pipenv shell and run from the server directory:

    python server/app.py

    The backend server will start on http://localhost:5555.

  6. Start the React Frontend

    Open a new terminal, navigate to the client directory, and run:

    npm run dev

    The frontend application will start on http://localhost:5173 and proxy API requests to the Flask backend.

  7. Access the Application

    Open your browser and navigate to http://localhost:5173 to see the application in action.

  8. Access backend Open your browser and navigate to https://darkroombackend.onrender.com

Scripts`

Backend

  • Run Server

    python server/app.py

Frontend (Client)

  • Start Development Server

    npm run dev

Technologies Used

Contributing

Contributions are welcome! Please follow these steps:

  1. Clone the Repository

  2. Create a Feature Branch

    git checkout -b feature/YourFeature
  3. Commit Your Changes

    git commit -m "Add some feature"
  4. Push to the Branch

    git push origin feature/YourFeature
  5. Open a Pull Request

Authors'

Sharon Kahira Edwin Ng'anga Favoured Mwange Barkley Igonyi Bakari Bubu

License

This project is licensed under the MIT License.

Contributions

  1. Bakari Bubu
  2. Favoured Mwange
  3. Sharon Kahira
  4. Barkley Igonyi
  5. Edwin Ng'ang'a

Contact

For any questions or feedback, please contact Sharon Kahira at [email protected],Bakari Bubu at [email protected],Favoured Mwange at [email protected],Edwin Nganga at [email protected] ,Barkley Igonyi [email protected]

About

DarkRoom Render Link

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5