A computer science student with a passion for web development


I study CS at University of Pisa, and I've been passionate about coding ever since middle school. My main area of interest is web development.

My projects

Things I've Made

University Training Platform

Created for, and officially used and hosted by the department of computer science of University of Pisa, this app is intended to help students prepare for upcoming exams.

Powered by a Django REST framework backend and Vue.js frontend, this platform offers several functionalities to teachers to create and manage their courses, add end edit topics, as well as add and edit questions which are shown to students. Students can sign up to courses and start training right away, by generating random selections of questions from the course. In particular, this app offers teachers and students alike the ability to create "training models," made up of sets of rules, which dictate how the questions are picked for a session, to allow students to focus on certain topics and pick difficulty profiles to better match their current level of preparation. Students can review their past training sessions by accessing their personal history to see how they're doing over time, and help texts are shown to students when they fail too many questions in a particular category.

Visit the backend repository for more information

Online Exam and Programming Platform

Created for, and officially used and hosted by the department of computer science of University of Pisa, this app allows teachers to create exams made up of multiple-choice questions, open-ended questions, and programming (JavaScript) exercises.

Made with Django REST framework and Vue.js, this app also integrates an extra Node.js backend used for automatically testing code submitted by students for programming exercises via a virtual machine. It utilizes a Google OAuth based authentication system, allowing students and teachers to log in using their university email address. Several options are available to teachers during the exam creation process, allowing for highly customizable and flexible exam settings. CSV reports are moreover generated at the end of the exams, allowing teachers to gather and examine students' performance, as well as grade them.

The platform is hosted at this address but requires a @unipi.it email address in order to access it. If you'd like to try it out but don't have a valid supported email address, contact me.

Visit the backend repository for more information

Dubito!

A multi-player, real-time card game made with Django Channels and Vue.js.

Based on a card game named Cheat, this webapp allows players create private games to play with their friends, or use the global matchmaking system to play against random opponents. It's websocket-based, which allows for a truly real-time gaming experience.

Visit the game official website for more information (in Italian)

eLearning

A Django + Vue.js webapp for elearning.

An app intended to be used as a tool for putting students' skills in a subject to test, as well as aiding them in preparing for an exam. Allows teachers to create courses, add and edit questions, add assistants, and track students performance, as well as adjust a whole host of settings for their course. Allows users to sign up to different courses, take randomly-generated tests, save seen questions and taken tests to a personal history for later review, and track their own grades over time.

Visit the project page for more information

JS ASM Interpreter

A D-Risc Assembly compiler and interpreter, entirely written in JavaScript.

This project was inspired by a course I was taking in university. It allows users to write simple programs in a didactic version of Risc Assembly. Such programs are compiled and ran in a JavaScript environment.

Visit the project page for more information

Chat 1.0

A feature-rich, real-time chatting application.

This webapp was made using Django, and employing Channels layer to exploit the websocket technology for better performance. It includes a handful of features including theme and language selection, moderation tools, public and private messaging, and file attachments.

Visit the project page for more information

Contact Information