Skip to content

The Ticketing System is a web app for managing customer support tickets, allowing users to submit, track, and resolve issues while admins handle categorization and status updates.

Notifications You must be signed in to change notification settings

Amank-root/File-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FilePortal: Django & Next.js File Management System

A modern web application for file management with user authentication, file uploads, and user profile management.

Screenshot

demo.mp4

Features

User Portal

  • Authentication

    • Email/password authentication with JWT
    • Registration and login functionality
    • Password change
  • File Management

    • File upload with automatic file type detection
    • File listing with details (filename, upload date, file type, size)
    • File download and deletion
    • Support for multiple file types (PDF, Excel, TXT, etc.)
  • Dashboard

    • Display total files uploaded
    • Breakdown of file types (PDF, Excel, Word, etc.)
    • Visual representation of file statistics
  • User Profile

    • Edit username and personal information
    • Add and manage multiple addresses
    • Phone number management

Technology Stack

Backend

  • Django: Web framework
  • Django REST Framework: REST API
  • Simple JWT: JWT authentication
  • SQLite: Database (for development)

Frontend

  • Next.js: React framework
  • TypeScript: Type safety
  • Tailwind CSS: Styling
  • Zustand: State management
  • React Hook Form: Form handling
  • Axios: API requests

Project Structure

|-- backend/               # Django backend
|   |-- core/              # Project configuration
|   |-- users/             # User authentication and profiles
|   |-- files/             # File management
|   |-- venv/              # Virtual environment
|
|-- frontend/              # Next.js frontend
    |-- src/
        |-- app/           # Next.js App Router
        |-- components/    # Reusable components
        |-- services/      # API services
        |-- store/         # Zustand stores

Getting Started

Prerequisites

  • Python 3.8+
  • Node.js 18+
  • pnpm (for frontend package management)

Backend Setup

  1. Navigate to the backend directory:

    cd backend
  2. Create and activate a virtual environment:

    python -m venv venv
    .\venv\Scripts\activate  # Windows
    source venv/bin/activate  # macOS/Linux
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run migrations:

    python manage.py migrate
  5. Create a superuser:

    python manage.py createsuperuser
  6. Start the Django development server:

    python manage.py runserver

Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
  2. Install dependencies:

    pnpm install
  3. Start the Next.js development server:

    pnpm dev
  4. Open your browser and navigate to http://localhost:3000

API Documentation

Authentication Endpoints

  • POST /api/users/register/: Register new user
  • POST /api/users/login/: Login and get JWT tokens
  • POST /api/users/token/refresh/: Refresh token
  • POST /api/users/change-password/: Change password

User Profile Endpoints

  • GET /api/users/profile/: Get user profile
  • PUT /api/users/profile/: Update user profile
  • GET /api/users/addresses/: Get user addresses
  • POST /api/users/addresses/: Add new address
  • PUT /api/users/addresses/{id}/: Update address
  • DELETE /api/users/addresses/{id}/: Delete address

File Management Endpoints

  • POST /api/files/upload/: Upload file
  • GET /api/files/list/: List user files
  • GET /api/files/download/{id}/: Download file
  • DELETE /api/files/delete/{id}/: Delete file
  • GET /api/files/dashboard/: Get file statistics

License

This project is licensed under the MIT License

About

The Ticketing System is a web app for managing customer support tickets, allowing users to submit, track, and resolve issues while admins handle categorization and status updates.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published