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