Video Demo: https://youtu.be/2NUDqkbkbWs
A website to help you keep track of all the video media that you watched, are watching or planing to watch.
- Python
- Flask
- HTML
- SASS
- BEM
- CSS
- Javascript
- Jinja
- SQL
The first function of the website was the login/ logout ' register system. Users can input a name and password. We store the user's username and a hash of his password in our database due to security concerns.
You can add a media define name, status, type, and URL for an image of its cover. user's media are viewed as the status attribute. Then I store this media info in the database with the user id and date.
user can edit any media attribute and delete an entire media.
There is also an apology page that appears whenever the input is not correct or when an internal error occurs.
- register
- login
- Logout system
- add a media
- media should have:
- name
- type
- cover img Url
- status
- watched
- watching
- plan to watch
- date added
- media should have:
- edit media
- remove media
- index page show all media
- make a different view for ever status
- app.py
- the part where main application is written, specifying the routes and handling the database.
- media.db
- main database having two tables now, one that stores users data and other one to store media data with a user id that correlates both of them.
- schema.sql
- database schema
- requirements.txt
- main libs that are required for this project
- remove-media.sql
- empties media table for dev purposes only
- .gitignore
- files and directories to not push to git
- templates/
- stores every page template
- main pages
- index.html
- register.html
- login.html
- planToWatch.html
- watched.html
- watching.html
- helper pages
- error.html
- layout.html
- TODO.html
- main pages
- stores every page template
- static/
- stores static files like css, js and images
- static/sass
- chose to use sass to make the development more organized
- static/sass/global
- global rules, normalize, colors, typography helper classes and more
- static/sass/components
- styles for each component used in the page
- static/sass/pages
- to control the flow of components within a certain page
- static/sass/util
- mixins
- project set up
- python
- sass
- server
- make a nav bar
- design the database
- connect database
- error page
- require login wrapper
- login page
- logout page
- register page design
- add media design
- make a design for edit list page
- make a design for Watching
- make watched, plan to watch pages
- adjust add media so that you can't add Media twice
- make edit list
- design edit_list_item page
- design home page
- design no-media component
- update the database when media is edited
- delete media route
- adjust apology page
- edit catagories to include no-media component
- edit the colors of homepage cover
- make header component
- Cinema Photo by Felix Mooneeram on Unsplash