The Appointment Management System is a web application designed to streamline the management or scheduling of interview metting b/w user and company employees. This system facilitates the efficient handling of appointment requests, schedules, and information through a user-friendly interface. The project incorporates essential features such as CRUD operations, pagination, and robust authentication mechanisms to ensure secure access.
- Introduction
- Technology Stack
- Project Structure
- Prerequisites
- Installation
- Database Initialization and Configuration
- Running the Application
- Functionalities
The AMS Application simplifies employee data management by offering an intuitive web-based interface. Users can effortlessly perform CRUD operations on the following key components:
- User Profile
- User request
- Company Employees list
- Company Schedule
- Employee Schedule
This application ensures that Appointment-related data can be easily viewed, added, edited, or deleted, with an added layer of security through user authentication.
- HTML
- CSS
- Bootstrap
- Python
- Django (Web Framework)
- MongoDb (Database)
- Celery (Task scheduling)
- Apache celery (Task priotise)
The project directory includes the following files and directories:
Appointment_System/
│
├── appointment_core/ # Core project configuration
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── generate.py # Script to generate random DB entries
│
├── appointments/ # Main Django app
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ ├── templates/
│ ├── static/
│ ├── migrations/
│ └── management/
│
├── vercel_entry.py
├── manage.py
├── requirements.txt
├── db.sqlite3
└── README.md
Before proceeding with the installation and execution of the application, ensure you have the following dependencies installed on your system:
- Python 3.x
- Git
- MySQL server installed and running.
- pip
- MongoDB server (running locally)
- virtualenv
- Git
-
Clone the GitHub repository to your desired location:
git clone [email protected]:Ajaymalviy/Appointment_System.git
-
Navigate to the "Appointment_System" directory:
cd Appointment_System -
Create a virtual environment
python3 -m venv venv
-
Activate this
source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required packages and libraries by executing:
pip install -r requirements.txt
Before running the application, it's essential to initialize the database and configure the connection. Follow these steps:
- Start your MongoDB server.
- Open the MongoDB shell and create a new database: '''sql use meetme '''
- Update the DATABASES section in appointment_core/settings.py:
DATABASES = { 'default': { 'ENGINE': 'djongo', 'NAME': 'meetme', 'ENFORCE_SCHEMA': False, 'CLIENT': { 'host': 'mongodb://localhost:27017/', } } }
- Now, You have to make db connection with this two commands:
python3 manage.py makemigrations appointments #for creating all collections in your db using ORM. python3 manage.py migrate #for migrating all the collection
- Populate the database with random data:
python3 appointment_core/generate.py xx #change xx with random number
python3 manage.py runserver
#now visit http://127.0.0.0/8000- User Management
- Signup/Login using JWT
- Secure user profile management
- Appointment Handling
- Create, update, delete appointments
- Track and view upcoming meetings
- Employee Features
- Manage own schedule and availability
- Respond to meeting requests
- Admin Features
- Manage companies and employees
- View all appointment activity
- Contact System
- Contact form for user feedback
- Admin access to contact details