Simple Crud App using Flask
![Screen Shot 2023-12-06 at 11 32 25](https://private-user-images.githubusercontent.com/113084592/288283905-dc9d77ab-685b-4452-9f35-3b71215594ae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMDY4NzIsIm5iZiI6MTcyMjAwNjU3MiwicGF0aCI6Ii8xMTMwODQ1OTIvMjg4MjgzOTA1LWRjOWQ3N2FiLTY4NWItNDQ1Mi05ZjM1LTNiNzEyMTU1OTRhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNlQxNTA5MzJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mOGQzNGMyOTIzMDI1ODBlMDg2YTI4YjM1OGMzZmQyNWI3OTY0Mjk0MDBlNmFhMzZhZmEzOTJhNjI1NTU3MmJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.jzwBA7qJKP182g76-SDtKBPd5QvYug09UgRd9ilqs-w)
This is a simple crud app that follow these deliverables:
- Backend and Database development
- Role Based Access Control
- Twitter like-application
- Todos application
- Testing react components
App Layouts:
![Screen Shot 2023-12-06 at 11 32 38](https://private-user-images.githubusercontent.com/113084592/288283928-8aef62b5-ad1a-47cd-bd87-d1873f8409d3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMDY4NzIsIm5iZiI6MTcyMjAwNjU3MiwicGF0aCI6Ii8xMTMwODQ1OTIvMjg4MjgzOTI4LThhZWY2MmI1LWFkMWEtNDdjZC1iZDg3LWQxODczZjg0MDlkMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNlQxNTA5MzJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mNmM5NjQyZGU0MzEyZDZlNDVhOTJiZmZlNjQyMGE3NzFmYmQyMjIzMjg3Y2Y1NGRjODI5MjhhMWM5MTBkZjRjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.c9LOBpwTmCTE_a08pt-vk7c0Ti9DDRLou6ykgTlMOXs)
![Screen Shot 2023-12-06 at 11 32 55](https://private-user-images.githubusercontent.com/113084592/288283973-695280e3-18ea-4002-a893-4c6b203c6455.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMDY4NzIsIm5iZiI6MTcyMjAwNjU3MiwicGF0aCI6Ii8xMTMwODQ1OTIvMjg4MjgzOTczLTY5NTI4MGUzLTE4ZWEtNDAwMi1hODkzLTRjNmIyMDNjNjQ1NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNlQxNTA5MzJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNmIzZDA3NGQwZDY0NjI5YzYzMTlhZjdhOTE3MzJhNzY1MWFlZjFlZjFjMGVkOThlMGUwYjczOTRkYTZkMjAyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.GTSwN5wM7eKKe8kNMWVg9TNC7juZ1IIgxGBoGdeOL2g)
![Screen Shot 2023-12-06 at 11 33 07](https://private-user-images.githubusercontent.com/113084592/288283990-ad5aba22-e32a-46a6-8652-ebe274622266.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMDY4NzIsIm5iZiI6MTcyMjAwNjU3MiwicGF0aCI6Ii8xMTMwODQ1OTIvMjg4MjgzOTkwLWFkNWFiYTIyLWUzMmEtNDZhNi04NjUyLWViZTI3NDYyMjI2Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNlQxNTA5MzJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yN2U4YzRlMTdiNjhmNDk3NGQzMzMwYzY1YjYzNzU2ZmJiY2M0ZDQ5MDA5YjcyZmU2ZDJkZjc4MmIwMWU1NjIxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.0dRJyR2GiANLwo1RvIi2PZAsdxW3Qdvl4pORe6cZBRE)
![Screen Shot 2023-12-30 at 11 56 04](https://private-user-images.githubusercontent.com/52250424/293444633-f6dbf2fb-1866-4a1e-aced-8d75eb1af3d9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMDY4NzIsIm5iZiI6MTcyMjAwNjU3MiwicGF0aCI6Ii81MjI1MDQyNC8yOTM0NDQ2MzMtZjZkYmYyZmItMTg2Ni00YTFlLWFjZWQtOGQ3NWViMWFmM2Q5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI2VDE1MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJiZWYwMGZlODY0YThlZWI3ZDBlMjYxNTUzNWViNDIwOGI1Njk3MTBkNWU2NzVjMTQ0MzdjOThlY2NhMmZmMWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Iodl_OwrcmMI9cMAYwjwmW0eAY0gka2SZ7iPiFCilKE)
![Screen Shot 2023-12-30 at 11 56 38](https://private-user-images.githubusercontent.com/52250424/293444649-e6a2ee3d-b9e4-424f-b95a-9e25d7dfcdeb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMDY4NzIsIm5iZiI6MTcyMjAwNjU3MiwicGF0aCI6Ii81MjI1MDQyNC8yOTM0NDQ2NDktZTZhMmVlM2QtYjllNC00MjRmLWI5NWEtOWUyNWQ3ZGZjZGViLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI2VDE1MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE2N2ZkZTA4Njc1NzRkNTUzNTcwNWU1MDA5NDk2NGFiMTcxNDMwZTExY2UwOWYwNzA4OTNmNDA0MTdiNmRjMTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wygsVGjQ4lJg2OplwV5GpuWpl79jnNzcXPOUToS7Tmw)
![Screen Shot 2023-12-30 at 11 56 57](https://private-user-images.githubusercontent.com/52250424/293444654-c3e1e601-01da-4906-97b8-09c650c75124.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMDY4NzIsIm5iZiI6MTcyMjAwNjU3MiwicGF0aCI6Ii81MjI1MDQyNC8yOTM0NDQ2NTQtYzNlMWU2MDEtMDFkYS00OTA2LTk3YjgtMDljNjUwYzc1MTI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI2VDE1MDkzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5MjY3MzZkMGE5ZmViMjExYjY5NTRlYzg4ZmY5MzhmNjM2NzdjZmY1YzNhNTExMjhlM2UwNWNhNGMwNDlkZjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.eE83uGdmlV-z3vp9reEY4gF5dkDJaFi427oFX4U7Auo)
- Testing Login Page, expect detect form and button
- Testing Register Page, expect detect form and button
- Testing Category Page, expect detect form and button, and table
- Testing Profile Page, expect detect title and table
cd client
npm install
npm --test
![Screen Shot 2023-12-06 at 11 56 22](https://private-user-images.githubusercontent.com/113084592/288285673-526b5449-bef6-4ecc-ab83-f5771604c4d7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIwMDY4NzIsIm5iZiI6MTcyMjAwNjU3MiwicGF0aCI6Ii8xMTMwODQ1OTIvMjg4Mjg1NjczLTUyNmI1NDQ5LWJlZjYtNGVjYy1hYjgzLWY1NzcxNjA0YzRkNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyNlQxNTA5MzJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jMjJiNWNmMmUxMWRiZTI5YWIyNTg5M2U0N2Y0NjlmMGQxNDcwNjI1NTYwYjc0YmFmMTBmNzFkYzEyNzBhODYwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.huSLCEAaX01uIQiLRjJ5dnqvVEIyky3OsQYyVtGRb0c)
- Backend deployed on render
- Frontend deployed on netlify