Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mohamed-mostafaaa/to-do

To_Do is a comprehensive task management application designed to streamline task assignments and team members' collaboration. It allows users to create tasks, assign collaborators, and add notes to tasks efficiently.
https://github.com/mohamed-mostafaaa/to-do

authentication database flask flask-sqlalchemy jinja python sqlalchemy sqlite

Last synced: 3 days ago
JSON representation

To_Do is a comprehensive task management application designed to streamline task assignments and team members' collaboration. It allows users to create tasks, assign collaborators, and add notes to tasks efficiently.

Awesome Lists containing this project

README

        

# To_Do 🚀

To_Do is a comprehensive task management application designed to streamline task assignments and team members' collaboration. It allows users to create tasks, assign collaborators, and add notes to tasks efficiently.

## Features ✨

- **User Authentication:** Secure login and registration using Flask-Login.
- **Task Management:** Create, update, view, and delete tasks.
- **Collaborator Assignment:** Assign multiple collaborators to tasks.
- **Notes:** Add and view notes for each task.
- **Real-Time Updates:** Real-time task updates using WebSockets.
- **Responsive Design:** Mobile-friendly interface.

## Installation 🔧

1. Clone the repository:

```bash
git clone https://github.com/Mohamed-Mostafaaa/To-Do.git
cd To-Do
```

2. Create and activate a virtual environment:

```bash
python -m venv venv
source venv/bin/activate
```

3. Install dependencies:

```bash
pip install -r requirements.txt
```

4. Set up the database:

```bash
python3 create_table
```

5. Run the application:
```bash
flask run
```

## Our Inspiration and Journey 🌟

### Inspiration 💡

As students at ALX, we were often overwhelmed by the number of assignments, group projects, and personal tasks we had to manage. We realized that having a reliable tool to organize our tasks would significantly improve our productivity and reduce stress.

## Usage

1. **Register and Login:** Create an account or log in with an existing account.
2. **Create Tasks:** Navigate to the dashboard and create new tasks.
3. **Assign Collaborators:** Assign tasks to other users.
4. **Add Notes:** Add notes to tasks for additional context.
5. **Real-Time Updates:** Receive real-time updates on task progress.

## Technologies Used

- **Flask:** Web framework for Python.
- **SQLAlchemy:** ORM for database management.
- **Jinja2:** Templating engine for rendering HTML.
- **HTML/CSS:** For structuring and styling the web pages.
- **JavaScript:** For front-end interactivity.

## Architecture

To-Do follows a client-server architecture with RESTful APIs for communication between the front-end and back-end. The front-end is designed to be responsive and mobile-friendly.

## Learnings

Throughout the development of To-Do, our team enhanced their skills in Flask, SQLAlchemy, and RESTful API design. The project also improved our understanding of real-time web applications and secure authentication methods.

## Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss changes.

## License

This project is licensed under the ALX License.

## Contact 📬

Feel free to reach out to us if you have any questions or feedback.

- Mohamed Mostafa Abdelhamed
[LinkedIn](https://www.linkedin.com/in/mohamed-mostafaaa/) | [GitHub](https://github.com/Mohamed-Mostafaaa)
- Farouk Ashraf Elshamy
[LinkedIn](https://www.linkedin.com/in/faroukashraf//) | [GitHub](https://github.com/FaroukAshrafElshamy)