Skip to content

Latest commit

 

History

History
198 lines (146 loc) · 4.53 KB

File metadata and controls

198 lines (146 loc) · 4.53 KB

README

Headline


My University eco system (psychology website)

Project Description

My university is an integrated ecosystem that consolidates all the services needed by Innopolis University students into a single website, streamlining their lives.
Among these services is a psychology website, which facilitates scheduling and organizing appointments between students and specialists.
This ensures that all students have access to this valuable resource, enhancing their comfort and well-being at the university.

project structure

project/
├── src/
│   ├── __init__.py
│   ├── app.py
│   ├── routers/
│   │   ├── __init__.py
│   │   ├── appointment_router.py
│   │   ├── admin_router.py
│   │   └── user_router.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── admin.py
│   │   └── ...
│   ├── controllers/
│   │   ├── __init__.py
│   │   ├── user_controller.py
│   │   ├── admin_controller.py
│   │   └── appointment_controller.py
│   ├── instance/
│   │   └── events.db
│   └── database
│   │   └──  database.py
│   └── middleware
│         └── middleware.py
├── tests/
│   ├── __init__.py
│   └── test_app.py
└── README.md

Feature List - Current Functionality:

Book an Appointment: Students can book an appointment for a psychology session.
Create Timeslots: Specialists can create available timeslots for users to book.
Log In and Registration: Secure login and registration system for both students and specialists.
Specialist Dashboard:
View a list of all booked sessions.
View available (free) timeslots .
User Dashboard: Students can view their scheduled sessions.
Availability Check: Users can check if a timeslot is booked or available.
Session Type Selection: Users can choose between group sessions and individual sessions.

Demo

Vedio

You can use the website here

website

Guide how to use

You can visit the website then:
Register
Login
Book appointment by chosing the specialist then free time slot after chosing a f date .
you can put comment to allow the specialist to know the goal of the session.
Notes that you can not book more than one appointment with a specific specialist.

For specialist

To be specialist(admin): Register
Login
Apply for being admin
Wait for response.

Project Installation

Setting Up the Environment

To set up the environment for your Flask project, follow these steps:

Update the Package List

Open your terminal and run:

sudo apt update

Install Python 3

To install Python 3, run:

sudo apt install python3

Install pip for Python 3

To install pip for Python 3, run:

sudo apt install python3-pip

Install the Python Virtual Environment Package

To install the venv package, run:

sudo apt install python3-venv
pip install Flask PyJWT

Create a Virtual Environment

Create a virtual environment named venv by running:

python3 -m venv venv

Activate the Virtual Environment

Activate your virtual environment with the following command:

source venv/bin/activate

Install Required Packages

Install Flask and Flask extensions using pip:

pip3 install flask flask-sqlalchemy
pip install flask-cors
pip install flask-pydantic
pip install pydantic[email]
pip install flask-blueprint

Running the Application

Navigate to the directory containing your application and run:

python3 -m src.app

###Unit Testing

python -m unittest discover -s tests to run the test

Creating the database

from src.app import app, db

Create an application context

app_ctx = app.app_context()
app_ctx.push()

Now you can perform Flask-SQLAlchemy operations within this context

db.create_all()

Don't forget to pop the application context when you're done

app_ctx.pop()

Install frontend

npm i
npm run dev

Additional Information

  • Ensure you have the necessary permissions to run the sudo commands.
  • The virtual environment should be activated whenever you are working on your project to ensure all dependencies are available.

By following these steps, you will have a Flask environment set up and ready for development.