Buenas; puedo llevar a cabo su proyecto, aunado a las descripciones que propone, también manejaría otras funcionalidades como el cambio de contraseña y la subida del avatar de la persona (para hacer la un poco más social); para buscar los ficheros te propongo una vista de consulta con algunos filtros (dependiente de la información que debe proveer el usuario para subir el archivo como: categoría, nombre, palabras claves, etc).
Lo demás sería como lo planteas; un módulo de registro, de autenticación y aplicar ciertas reglas para subir los archivos.
Para esto emplearía las siguientes tecnologías:
*CodeIgniter como Framework PHP.
*MySQL como Base de Datos.
*HTML5, CSS3, jQuery.
*Boostrap.
CodeIgniter es ideal para proyectos de pequeña envergadura como el suyo.
Saludos!