- Overview
- Screenshots
- Project Structure
- Features
- Getting Started
- Scripts
- Technologies Used
- Contributing
- License
- Contact
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.
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
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.
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
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
-
Clone the Repository
git clone https://github.com/yourusername/darkroom.git cd darkroomReplace
<my-project>in the above comamnd with your desired project name -
Set Up the Backend
Navigate to the project root and install Python dependencies using Pipenv:
pipenv install
Activate the Pipenv shell:
pipenv shell
-
Set Up the Frontend
Navigate to the
clientdirectory and install Node.js dependencies:cd client npm install -
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.mdfile, a.gitignorefile or aLICENSE.mdfile as demonstrated below -
Click on the create repository button
-
Create your first commit
-
-
Start the Flask Backend
Ensure you're in the Pipenv shell and run from the
serverdirectory:python server/app.py
The backend server will start on
http://localhost:5555. -
Start the React Frontend
Open a new terminal, navigate to the
clientdirectory, and run:npm run dev
The frontend application will start on
http://localhost:5173and proxy API requests to the Flask backend. -
Access the Application
Open your browser and navigate to
http://localhost:5173to see the application in action. -
Access backend Open your browser and navigate to
https://darkroombackend.onrender.com
-
Run Server
python server/app.py
-
Start Development Server
npm run dev
-
Frontend
-
Backend
-
Others
Contributions are welcome! Please follow these steps:
-
Clone the Repository
-
Create a Feature Branch
git checkout -b feature/YourFeature
-
Commit Your Changes
git commit -m "Add some feature" -
Push to the Branch
git push origin feature/YourFeature
-
Open a Pull Request
Sharon Kahira Edwin Ng'anga Favoured Mwange Barkley Igonyi Bakari Bubu
This project is licensed under the MIT License.
- Bakari Bubu
- Favoured Mwange
- Sharon Kahira
- Barkley Igonyi
- Edwin Ng'ang'a
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]




