Hey there, here's the most complex full-stack project I've built so far - as the name suggests this is a project management app programmed with Flask and Bootstrap 5.0 + some minor CSS tweaks. Please keep in mind this isn't a professionally built system but a learning project of a newbie who wants to learn Python, Flask and full stack web development. There are (probably) a lot of things to be optimized in my code and the front-end design could be much prettier, however, this could be used as a part of other people's projects and eventually help other learners like me. That's why I am sharing my project code, folders + files for free, everything can be downloaded from this Google Drive folder. In some of my next posts I will describe the entire project structure and will make a short video showing app's functionalities. If you're impatient and want to explore the system on your own - run dev.py and go to 127.0.0.1:5000 in your browser (assuming you already have Python/Flask/Flask-SQLAlchemy installed on your PC).
So, what can this app do? Here are it's core capabilities:
- User management - people who want to use it can register and manage their user details, such as first and last name, team and position in the team; the user can see the projects and tasks he/she is assigned;
- Project management - the user is able to create new/edit existing project and describe its details via rich text editor (CKEditor); different users can be assigned to a given project and project status can be changed to Draft/Live/Closed;
- Resource management - each project has a section where links to resources can be added (for example - links to cloud folders where important project documentation is stored); resources can be added, edited or deleted;
- Task management - the project began as a task management system in fact, after that I decided to extend it to project management app, that's why this can be considered as the core of the system; separate tasks can be added to each project, different team members can be assigned to these tasks and task status can be one of Idle/In Progress/Completed; a deadline could also be adjusted; tasks can be added, edited or deleted;
- Search - there's also a simple search field where projects can be searched by name;
There are a lot of improvements possible, for example adding a live chat room for all users assigned to a given project. This was the purpose of the "notes" data model in the app, I've decided to keep this utility undeveloped for now - I have quite a lot of ideas for further project upgrades but if I go for all of them it will never be finished. So I decided to "hard-code" the end of the project here, of course it can always be extended :)
Няма коментари:
Публикуване на коментар