My final project for CS50 Harvard course. Video Demo(Link to YouTube): https://youtu.be/j0NUqqMLDZ0
- 1 National Monuments
- 1.1 Overview
- 1.2 Functionalities
- 2 Architecture
- 3 Technology Stack
The software is powered by flask library and supports SQLite database. The front-end part is implemented via pure HTML, CSS and Bootstrap. The project overview, functionalities, architecture and technology stack is reviewed bellow.
The idea of the website is to contain the general information for all the USA's national monuments. Here all citizens and tourists can get familiar with the monuments, check their location and some other interesting information. If the digital visitor do not register, he/she will not be able to take a look of all the USA monuments and mark them as visited.
Register online in a few simple steps by visiting the website page. Submit your:
📌 User Name
📌 Password
After you register successfully, you will become a user and you will be able to:
📌 List all monuments
📌 List all states
📌 List all agencies
📌 Visit monuments
📌 Rate monuments
On this page you can see the full list of the USA's national monument. Only admin can edit and delete monuments. Accessible only for registered users.
On this page you can submit new Monument objects to the database. Accessible only for admin users.
Accessible only for admin users.
On this page you can see the monuments, visited by the current user, his grade for the landmark and date of visit. Accessible only for registered users.
On this page you can read summary for monument of your choise and some other details. Here, you can also rate and visit the place. Accessible only for registered users.
On this page you can see the full list of the USA's agencies. Only admin can create, edit and delete agencies. Accessible only for registered users.
On this page you can see the full list of the USA's states. Only admin can create, edit and delete states. Accessible only for registered users.
The project architecture is accomplished using modern approaches in web development. The application is build using lightwight python framework - Flask, utilizing the folder-by-feature architecture for the html and css files.
The authentication functionality is implemented via session storage, and the authorization is made via custom decorators.
- Python, Flask, session storage
- SQLAlchemy, WTforms
- SQLite
- HTML, CSS, Bootstrap