As a front-end web developer, my primary goal is to transition into a full-stack web developer role. To achieve this, I embarked on this project with the intention of deepening my understanding of back-end development, particularly using Python, FastAPI, and PostgreSQL. Through this project, I was able to significantly expand my knowledge of back-end fundamentals, including API design, database management, and server-side logic. This hands-on experience has been invaluable in bridging the gap between front-end and back-end development, bringing me closer to becoming a well-rounded full-stack developer.
I implemented robust sign-in and sign-up functionality, ensuring user passwords are securely hashed using bcrypt. Authentication is managed through JWT tokens, providing a secure and scalable solution. Logged-in users gain access to the /admin page, while any attempt to access this route without being logged in triggers an automatic redirect to the login page, enforced by custom middleware logic. This ensures that only authenticated users can access sensitive areas of the application.
Lightning-fast load times
User friendly design
Fully responsive UI
When a user fills out and submits this form, the data is securely stored in a PostgreSQL database. Admin users can then view and manage these requests on the admin page, with the ability to update the status from pending to approved or rejected.
On the Admin page, you will see dynamic statistics that update in real-time. If you submit a new form, you'll notice that the stats change accordingly. Another great feature is the ability to change the status of requests directly from this page.