Skip to content

Designed to simplify and streamline scheduling for any team or organization.

License

Notifications You must be signed in to change notification settings

Afonne-CID/meeting-scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meeting Scheduler

Meeting Scheduler is a comprehensive, full-stack web application designed to simplify and streamline scheduling for any team or organization. Built on a modern stack using React and Flask, this application allows users to create, manage, and join meetings, enhancing team collaboration and efficiency.

Table of Contents

  1. Features
  2. Prerequisites
  3. Installation
  4. Usage
  5. Running Tests
  6. Contribution Guidelines
  7. License
  8. Contact

Features

  • User Authentication: Secure registration and login functionality.
  • Meeting Management: Create, update, view, and delete meetings.
  • Comprehensive Scheduling: Add multiple time slots while creating each meeting.
  • Meeting Time Suggestion: Participants (users with meeting link) can add and remove new time suggestions
  • Voting System: Users can vote on their preferred meeting times.
  • Meeting URLs: Generate unique meeting URLs that can be shared with anyone.
  • Responsive Design: Works on a variety of devices, from mobile to desktop.

Prerequisites

To run this application, you will need the following:

  • Node.js (v14.0.0 or above)
  • Yarn (v1.22.0 or above) or npm (v6.14.0 or above)
  • Python (v3.8 or above)
  • Flask (v2.0.0 or above)
  • A local or remote relational database instance (PostgreSQL, MySQL,etc).

Installation

Backend

  1. Clone the Repository

    git clone https://github.com/afonne-cid/meeting-scheduler.git
    cd meeting-scheduler/backend
  2. Install Python Dependencies

    Create a virtual environment and activate it. Then, install the necessary Python dependencies.

    python -m venv env
    source env/bin/activate
    pip install -r requirements.txt
  3. Set up Environment Variables

    Copy .env.example to a new file named .env. To generate unique secret keys for SECRET_KEY and JWT_SECRET_KEY, you can use the following Python command:

    python -c "import secrets; print(secrets.token_hex(32))"

    Then, fill in your environment variables in the .env file.

  4. Initialize the Flask Application

    Run the Flask application.

    python main.py

Frontend

  1. Navigate to the Frontend Directory

    cd ../frontend
  2. Install Node.js Dependencies

    Make sure to have Node.js and npm installed in your system. Then, install the required dependencies.

    yarn install

    or

    npm install
  3. Start the Application

    Run the application in development mode.

    yarn dev

    or

    npm run dev

The application should now be running on http://localhost:5173, and it will interact with the backend API running on http://localhost:5000.

Usage

Once the application is running, you can navigate to http://localhost:5173 in your web browser to access the Meeting Scheduler. If you want to utilize the API directly, you can send HTTP requests to http://localhost:5000/api.

Running Tests

This project uses Python's built-in unittest module for backend testing.

  • Backend

    cd backend
    python -m unittest discover -s tests

Contribution Guidelines

Contributions to the Meeting Scheduler project are always welcome. Here's how you can help:

  • Submitting a Pull Request: If you see something that needs improvement, please feel free to fork the

repository and submit a pull request. We appreciate your help!

  • Reporting Issues: If you find a bug or something that doesn't work as expected, please report it in the issue tracker.
  • Documentation: If you're interested in improving the project's documentation or translating it, we would love your assistance.
  • Reviewing Pull Requests: Another valuable contribution is reviewing pull requests. Your feedback can help shape the future of the project.

Before contributing, please make sure to read and follow our Code of Conduct.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

If you have any questions, suggestions, or general feedback, please feel free to reach out.


About

Designed to simplify and streamline scheduling for any team or organization.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published