Introduction
Demo
Demo video (click to play)
Database modeling
Postman API Documentation
Click to view AboutTeaTime API Documentation
Tech Stacks
Implementation details can be found on the github links above.
- Python, Django web framework
- Beautifulsoup, Selenium
- Bcrypt : password hashing
- JWT
- MySQL
- Deployed in AWS with EC2, MYSQL RDS
- CORS headers : used for cross-origin requests and data transfers
My Contributions
Followed SCRUM development process and coordinated team work flow with Trello. Held daily stand-up meetings. As a back-end developer, I participated in implementing APIs for most of the features.
I was responsible for:
- Web crawling : Products, product details
- Project initial settings
- Database modeling
- Models.py for User App and Item App
- Views.py for sign-up, sign-in, wishlist, product detail, product list, adding, modifying, and deleting items in cart, placing an order
- Built MySQL Database and data uploaders for crwaled information
- Project deployment using AWS EC2 and RDS
Other features:
- Web crawling for offline store list and details
- APIs for writing reviews on products and offline stores, and displaying store descriptions
What went well
- database modeling
Databse modeling was done in full consideration of the original website's full functionalities, such as writing reviews on products and offline stores, Google Maps integration, cart and order features for unregistered users, shipment tracking, etc. As a result, our team was able to respond flexibly whenever there was a need to implement additional features.
- API documentation
By creating API documentation with Postman as I proceeded with developing APIs, I was able to facilitate communication with front-end developers.
- Spending time to refactor and increase efficiency
Although 12 days was very short period of time, I tried to stay on top of the process and take time to refactor repetitive codes and avoid inefficiency.
Area of improvement
- Still needs to be more efficient
For the next project, I should try considering other efficiency measures other than just using select_related()
and prefetch_related()
- Due to the time constraint, my team couldn't implement all features that we wanted to implement from the original website
기록하고 싶은 코드/함수/로직