GithubHelp home page GithubHelp logo

8309h / mapi.com Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 14.65 MB

The Mapi.com simplifies task management by providing users with essential features such as task creation, updates, and deletions. Users can easily filter tasks by status, date, or assigned person, and visualize task distribution using pie charts. Powered by Python and Flask on the backend, and offering flexibility for frontend development.

Python 8.82% CSS 33.47% HTML 31.78% JavaScript 25.93%
chartjs css flask flask-cors flask-jwt html5 javascript matplotlib mediaqueries mongodb

mapi.com's Introduction

Welcome! To Mapi.com

Welcome to Mapi.com! This is a Flask-based web application designed to help users manage their tasks effectively.

Netlify Link

https://mymapi.netlify.app/

Presentation Video Link :-

https://drive.google.com/file/d/1aHdsWF_Hb8gaOGggvu23yE7wdE4MYH-B/view?usp=sharing

Table of Contents

Features

  1. User Registration and Authentication: Users can securely register for new accounts and authenticate themselves to access the application.

  2. Task Management: Users can create, update, and delete tasks as needed. Each task can include details such as task name, description, start date, end date, assigned person, and task status.

  3. Task Filtering: Tasks can be filtered based on various criteria such as status (e.g., completed, in progress), start date, end date, board name, and person allocated.

  4. Visualization: The application provides visual aids to help users better understand their task status distribution. Users can generate pie charts to visualize the distribution of tasks across different statuses.

  5. API Endpoints: The Task Manager App offers a set of API endpoints to interact with the application programmatically. These endpoints enable functionalities such as user registration, task creation, task updates, task deletion, and task filtering.

  6. Backend Technologies: The backend of the application is built using Python and Flask, a micro web framework. MongoDB is used as the database to store task data, while Flask-JWT-Extended is utilized for JWT token-based authentication.

  7. Frontend Technologies: While the backend is implemented using Flask, the frontend can be developed using various technologies such as HTML, CSS, JavaScript, chart.js

Installation

To run the Task Manager App locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/8309h/mapi.com.git
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Set up environment variables:

    • Create a .env file in the root directory of the project.

    • Add the following variables to the .env file:

      DATABASE_URL=<your_database_url>
      SECRET_KEY=<your_secret_key>
      

    Replace <your_database_url> with the URL of your MongoDB database and <your_secret_key> with a secure secret key for JWT token generation.

  4. Start the Flask server:

    python app.py
  5. Access the Task Manager App at http://localhost:5000 in your web browser.

Usage

  • Register a new user account or log in with an existing account.
  • Create, update, delete, and view tasks.
  • Filter tasks by status, start date, board name, and other criteria.
  • Generate pie charts to visualize task status distribution.

Endpoints

The Task Manager App provides the following API endpoints:

  • POST /api/users/register: Register a new user account.
  • POST /api/users/login: Log in with an existing user account.
  • POST /api/tasks: Create a new task.
  • GET /api/tasks: Retrieve all tasks belonging to the logged-in user.
  • PUT /api/tasks/<task_id>: Update an existing task.
  • DELETE /api/tasks/<task_id>: Delete a task.
  • PUT /api/tasks/<task_id>/complete: Mark a task as completed.
  • GET /api/tasks/sort: Sort tasks by start date.
  • GET /api/tasks/filter: Filter tasks by status.
  • GET /api/tasks/filter-by-board: Filter tasks by board name.
  • GET /api/tasks/filter-by-name: Filter tasks by person name.
  • GET /api/tasks/search: Search tasks by task name.
  • GET /api/tasks/pie-chart: Generate a pie chart to visualize task status distribution.

Technologies Used

Backend

  • Python: Programming language used for backend development.
  • Flask: Micro web framework used for building the web application.
  • MongoDB: NoSQL database used for storing task data.
  • Flask-JWT-Extended: Extension for JWT token-based authentication.
  • Flask-CORS: Extension for handling Cross-Origin Resource Sharing.
  • Matplotlib: Library used for generating pie charts.

Frontend

  • Your frontend technologies here (e.g., HTML, CSS, JavaScript, chart.js,)

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License.

Screenshots

Mapi.com Dashboard

Task Manager Dashboard

Register Page

Task Creation Page

Login Page

Task Details Page

Work Management Page

Task Creation Page

Card Page

Task Details Page

Table Page

Task Details Page

Ghant Page

Task Details Page

Pie Chart Page

Task Details Page

mapi.com's People

Contributors

8309h avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.