Aprender a programar un sistema para administrar archivos en línea con ASP.NET Core

Estrada Web Group
Estrada Web Group
Aprender a programar un sistema para administrar archivos en línea con ASP.NET Core

Si quieres aprender a programar con ASP.NET Core, puedes consultar tres videos que publique en YouTube, sobre un sistema para administrar archivos en línea que desarrolle. En este artículo puedes descargar el código fuente y copiar la estructura de la base de datos para realizar pruebas.

Los videos los puedes ver en estos links

Puedes descargar el código fuente en el siguiente botón:

El sistema para administrara archivos esta desarrollado con la siguiente tecnología, lenguaje de programación y librerías.

  • ASP.NET Core
  • .NET 6.0
  • JavaScript
  • jQuery
  • SQL Server
  • CSS
  • HTML5

Las funcionalidades que se desarrollaron son las siguientes

  • Login. Permite autenticarte en el sistema, utiliza cookies para la autenticación.
  • Folder. En esta opción el usuario puede crear o modificar folders.
  • Archivos. En esta opción el usuario puede cargar archivos, ver los detalles o eliminarlos.
  • Usuarios. En esta opción el usuario puede crear más usuarios que administren los archivos en el sistema.
  • A continuación, te comparto el script de la base de datos para que lo copies y crees la base en SQL Server para que realices las pruebas.
USE [master]
GO
/****** Object:  Database [ManagerFiles]    Script Date: 26/10/2022 02:22:45 p. m. ******/
CREATE DATABASE [ManagerFiles]
GO
USE [ManagerFiles]
GO
/****** Object:  Table [dbo].[Archivos]    Script Date: 26/10/2022 02:22:47 p. m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Archivos](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Archivo] [varchar](150) NOT NULL,
	[Nombre] [varchar](250) NOT NULL,
	[FolderId] [int] NOT NULL,
	[FechaCreacion] [datetime] NOT NULL,
	[FechaModificacion] [datetime] NOT NULL,
	[Activo] [bit] NOT NULL,
	[UsuarioId] [int] NOT NULL,
	[Extension] [varchar](50) NOT NULL,
 CONSTRAINT [PK_Archivos] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[Bitacoras]    Script Date: 26/10/2022 02:22:47 p. m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Bitacoras](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[FolderId] [int] NOT NULL,
	[ArchivoId] [int] NULL,
	[Fecha] [datetime] NOT NULL,
	[UsuarioId] [int] NOT NULL,
	[Eliminar] [bit] NOT NULL,
	[Movimiento] [varchar](150) NOT NULL,
 CONSTRAINT [PK_Bitacoras] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[Folders]    Script Date: 26/10/2022 02:22:47 p. m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Folders](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Folder] [varchar](150) NOT NULL,
	[PathFolder] [varchar](1250) NOT NULL,
	[Nombre] [varchar](250) NOT NULL,
	[FechaCreacion] [datetime] NOT NULL,
	[FechaModificacion] [datetime] NOT NULL,
	[Activo] [bit] NOT NULL,
	[UsuarioId] [int] NOT NULL,
	[FolderPadreId] [int] NULL,
 CONSTRAINT [PK_Folders] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[Usuarios]    Script Date: 26/10/2022 02:22:47 p. m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Usuarios](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[Usuario] [varchar](150) NOT NULL,
	[Contrasena] [varchar](150) NOT NULL,
	[Nombre] [varchar](80) NOT NULL,
	[Apellidos] [varchar](150) NOT NULL,
	[Activo] [bit] NOT NULL,
	[FechaCreacion] [datetime] NOT NULL,
	[UsuarioIdPadre] [int] NULL,
 CONSTRAINT [PK_Usuarios] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Archivos]  WITH CHECK ADD  CONSTRAINT [FK_Archivos_Folders] FOREIGN KEY([FolderId])
REFERENCES [dbo].[Folders] ([Id])
GO
ALTER TABLE [dbo].[Archivos] CHECK CONSTRAINT [FK_Archivos_Folders]
GO
ALTER TABLE [dbo].[Archivos]  WITH CHECK ADD  CONSTRAINT [FK_Archivos_Usuarios] FOREIGN KEY([UsuarioId])
REFERENCES [dbo].[Usuarios] ([Id])
GO
ALTER TABLE [dbo].[Archivos] CHECK CONSTRAINT [FK_Archivos_Usuarios]
GO
ALTER TABLE [dbo].[Bitacoras]  WITH CHECK ADD  CONSTRAINT [FK_Bitacoras_Archivos] FOREIGN KEY([ArchivoId])
REFERENCES [dbo].[Archivos] ([Id])
GO
ALTER TABLE [dbo].[Bitacoras] CHECK CONSTRAINT [FK_Bitacoras_Archivos]
GO
ALTER TABLE [dbo].[Bitacoras]  WITH CHECK ADD  CONSTRAINT [FK_Bitacoras_Folders] FOREIGN KEY([FolderId])
REFERENCES [dbo].[Folders] ([Id])
GO
ALTER TABLE [dbo].[Bitacoras] CHECK CONSTRAINT [FK_Bitacoras_Folders]
GO
ALTER TABLE [dbo].[Bitacoras]  WITH CHECK ADD  CONSTRAINT [FK_Bitacoras_Usuarios] FOREIGN KEY([UsuarioId])
REFERENCES [dbo].[Usuarios] ([Id])
GO
ALTER TABLE [dbo].[Bitacoras] CHECK CONSTRAINT [FK_Bitacoras_Usuarios]
GO
ALTER TABLE [dbo].[Folders]  WITH CHECK ADD  CONSTRAINT [FK_Folders_Usuarios] FOREIGN KEY([UsuarioId])
REFERENCES [dbo].[Usuarios] ([Id])
GO
ALTER TABLE [dbo].[Folders] CHECK CONSTRAINT [FK_Folders_Usuarios]
GO
USE [master]
GO
ALTER DATABASE [ManagerFiles] SET  READ_WRITE 
GO

USE [ManagerFiles]
GO
SET IDENTITY_INSERT [dbo].[Usuarios] ON 
GO
//contraseña es jose04
INSERT [dbo].[Usuarios] ([Id], [Usuario], [Contrasena], [Nombre], [Apellidos], [Activo], [FechaCreacion], [UsuarioIdPadre]) VALUES (1, N'info@estradawebgroup.com', N'10000.zlLD9C/NRNWUP94SQZ5rbg==.gdgp81aaEMEpvtTFfRF4hGsY+0SguPvEA3Yn3OtQ9/U=', N'Soporte', N'Tics', 1, CAST(N'2022-10-21T00:00:00.000' AS DateTime), NULL)
GO
SET IDENTITY_INSERT [dbo].[Usuarios] OFF
GO
SET IDENTITY_INSERT [dbo].[Folders] ON 
GO
INSERT [dbo].[Folders] ([Id], [Folder], [PathFolder], [Nombre], [FechaCreacion], [FechaModificacion], [Activo], [UsuarioId], [FolderPadreId]) VALUES (2, N'', N'uploads', N'Principal', CAST(N'2022-10-21T14:13:12.413' AS DateTime), CAST(N'2022-10-21T14:13:12.413' AS DateTime), 1, 1, NULL)
GO
SET IDENTITY_INSERT [dbo].[Folders] OFF
GO

 

Compartir artículo:

Más artículos geniales

Avances del desarrollo del proyecto de sistema de inventarios

Avances del desarrollo del proyecto de sistema de inventarios

Si quieres aprender a programar un sistema de inventarios desde cero este es el lugar correcto. Aquí puedes descargar los avances del proyecto y te describo las funcionalidades desarrolladas

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla