MovieHub is a web application built with Django that allows users to explore a wide variety of movies and manage information about movies, actors, producers, and genres. MovieHub also lets users save their favourite movies.
The website allows different types of users with different permissions. We can also navigate the website without an account, and temporarily save our favourite movies.
The css isn't done by component because we reused the first's project css, therefore it's all located in one file as before.
- Add/Edit/Delete Movie
- Add/Edit/Delete Actor
- Add/Edit/Delete Producer
- Add/Delete Genre
- Create new Users
- Delete Users
- See other users' favourites
- Favourite movies (logged or not, using Django sessions)
The app is deployed at MovieHub
# Skip if django and pillow
# are installed alredy
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Then simple run:
./runNote: the ./run executes the migrations and runserver, so no need to do it manually
username:password
- admin:admin (has all permissions)
- user:user (has no permissions, can only view)
- crew_manager:crew_manager (Movie/Genre permissions)
- movie_manager:movie_manager (Actor/Producer permissions)
- Actor
- Movie
- Producer
- Genre
From the pratical classes:
- Authentication
- Django Forms (with Meta Class)
- Django Groups and Permissions
- Session
- Other normal functions like the templates, etc...
From our own learning:
- Image upload using Pillow library
- Using Django Messages to display alerts (ex: Movie added!)
- We created a personalized decorator that allowed us to redirect users if they did not have a certain permission
In developing MovieHub, we used Django's framework to create a functional movie platform, and along the way, we put into practice all of the key concepts from our practical classes.
We worked with Django Forms, Groups, Permissions, Authentication and user Sessions, which really deepened our learning experience. We also added some more advanced features like custom decorators, file uploads with Pillow, and Django messages all to make the platform more user-friendly and intuitive.
Overall, MovieHub reflects both our technical skills and our grasp of web development fundamentals.
| Nmec | Name | Github |
|---|---|---|
| 113780 | João Varela | varela |
| 114137 | Diogo Fernandes | diogux |
| 114622 | António Alberto | antonio |