This project aims to create a platform, inspired by shopify, which allows signed-in users to create shops and any web user to browse and purchase products from said shops. The web application is only supported on JavaScript enables browsers.
- David Wang
- Derek Shao
- Hoang Bui
- Michael Fan
- Souheil Yazji
- FrontEnd: Vue.JS + BootstrapVue
- Backend: Spring with REST endpoints
- Database: PostgreSQL
Create a feature branch using main as base. Use the following link for Commit Convention. All contributions to the project should pretain to an Issue, and should be logged in the Kanban project. Individual contributions to the project should be made through Pull Requests into the Main branch. Issues should be updated with the appropriate resolving pull request.
To Pull and Run this code locally,
- Install PostgreSQL. Make sure to install pgAdmin with it. When prompted, set the username and password to postgres/postgres
- Create a "shopify" database from pgAdmin.
- Open and build the project in IntelliJ
- Use the "Run Mini Shopify" Run Configuration. When the application finishes starting up, it can be accessed at localhost:8080
To host the front end,
- cd into shopify-client
- run
yarn install
ornpm install
- run
yarn run serve
ornpm run serve
In milestone 1, the team started with the tasks of setting up the development stack to allow for agile development. The full development stack is configured, with a running TravisCI pipeline and heroku application also set up with a postgresSQL database. Most of the backend models have been completed. Controllers have been made to for shops and products. Front end components have been configured to route requests to the springboot backend controllers to be handled. The Vue.Js front end allows users to browse all shops, create a shop, modify a shop, create a product, modify a product and browse products in a shop using views. To see all completed issues in this task, please refer to the Kanban Project.
In milestone 2, the team continued to implement core features such as allowing categories and tags to be attached to shops, shopping cart, and checkout. Aside from feature implementation, the team also improved the frontend by cleaning the styles. To see all completed issues in this task, please refer to the Kanban Project.
Some items to be completed by next sprint are:
- User Authentication: this item will allow only authorized users to create/modify shops and products. It will also bind users to shops. This will likely include a login and signup view.
This is a brief presentation of the Postgres database schema.