{"id":19670537,"url":"https://github.com/laansdole/group9-ecommerce-website","last_synced_at":"2026-04-09T08:40:02.390Z","repository":{"id":155091400,"uuid":"632348766","full_name":"LaansDole/group9-ecommerce-website","owner":"LaansDole","description":"This is an assignment project for COSC2430 Web Programming offered at RMIT University Vietnam during Semester 2023A.","archived":false,"fork":false,"pushed_at":"2023-12-17T15:55:42.000Z","size":29434,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T03:35:22.884Z","etag":null,"topics":["bootstrap","css","ecommerce","ejs-templates","javascript","nodejs"],"latest_commit_sha":null,"homepage":"https://group9ecommerceweb-dolelongan.b4a.run/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LaansDole.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-04-25T08:16:39.000Z","updated_at":"2024-08-06T17:23:34.000Z","dependencies_parsed_at":"2023-12-17T16:53:13.762Z","dependency_job_id":null,"html_url":"https://github.com/LaansDole/group9-ecommerce-website","commit_stats":null,"previous_names":["laansdole/group9-ecommerce-website"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaansDole%2Fgroup9-ecommerce-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaansDole%2Fgroup9-ecommerce-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaansDole%2Fgroup9-ecommerce-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaansDole%2Fgroup9-ecommerce-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LaansDole","download_url":"https://codeload.github.com/LaansDole/group9-ecommerce-website/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240980800,"owners_count":19888343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","css","ecommerce","ejs-templates","javascript","nodejs"],"created_at":"2024-11-11T17:06:34.433Z","updated_at":"2026-04-09T08:39:57.368Z","avatar_url":"https://github.com/LaansDole.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Group 9 (CSS:GO) E-commerce Website\n[Website Demo](https://group9ecommerceweb-dolelongan.b4a.run/)\n\u003cbr /\u003e\n[YouTube Presentation](https://youtu.be/HI9ww7b5c0c)\n\u003cbr /\u003e\n***Disclaimer: As we are using a free tier service, you will need to wait around a minute when you first open the link. After that, the link works smoothly. For more information, refer to Technologies section below.***\n\u003cbr /\u003e\n\u003chr\u003e\n- Project start date: 24/04/2023\n\u003cbr /\u003e\n- Project end date: 20/05/2023\n\n## Contribution\n\n| Student Name      | Student ID | Contribution Score |\n| :---------------- | :--------- | :----------------: |\n| Do Le Long An     | S-3963207  |         20         |\n| Truong Hong Van   | S-3957034  |         20         |\n| Pham Le Quynh Anh | S-3927427  |         20         |\n| Bui Tuan Anh      | S-3970375  |         20         |\n| Lao Vinh Khang    | S-3891925  |         20         |\n\n## Project Structure\n\n```\nGroup9_E-commerce_Website/\n├── src/\n|   ├── errors/\n|   ├── middlewares/\n|   ├── public/\n│   |   ├── css/\n|   |   ├── img/\n|   |   ├── js/\n|   |   |   ├── api/\n|   |   ├── uploads/\n|   ├── server/\n│   |   ├── controllers/\n|   |   ├── model/\n|   |   ├── routes/\n|   |   ├── uploads/\n|   ├── utils/\n|   ├── views/\n│   |   ├── layouts/\n|   |   ├── partials/\n├── .env\n├── Dockerfile\n├── index.js\n├── package-lock.json\n├── package.json\n├── README.md\n```\n\n1. `errors/`\nThe errors directory contains the exception handlers for the website\n\n2. `middleware/`\nThe handlers to check user authentication are located in this directory\n\n3. `public/css/`\nThe css directory consists of .css style files for the website, including global styles\n\n4. `public/img/`\nThis directory stores images needed to build the website UI\n\n5. `public/js/`\nThe js directory stores the website behaviours\n\n6. `public/uploads/`\nThe uploaded images by users are stored in this directory, website local storage\n\n7. `server/controllers/`\nEach controller is responsible for the GET and POST method of the pages, which is then imported in `server/routes`. In addition, it defines the objects to go in the rendered `.ejs` file.\n\n8. `server/model`\nThe directory contains the schema model for the `Product`, `Cart`, `Order`, etc. for the Backend to work with website database.\n\n9. `server/routes` \nThis stores the routes of the layouts. It works with the `controllers` and `middleware` to define the page route and control user access to each pages.\n\n10. `utils/`\nThis directory's purpose is to create tokens, connect with and validate MongoDB ID\n\n11. `views/`\nThe views directory contains all the pages on the website\n\n12. `views/layouts/`\nThe layout acts as a container for other pages content\n\n13. `views/partials/`\nThe partials directory stores the breakdown components for layouts and other .ejs files\n\n14. `views/pages/`\nThe directory contains .ejs files related to that website pages, such as homepage, dashboard, etc.\n\n15. `.env`\nThis file contains ENVIRONMENT VARIABLES such as ACCESS KEY, which is meant to be hidden and ignored by `.gitignore`\n\n16. `Dockerfile`\nThe Dockerfile defines the environment and dependencies required by an application, along with instructions for how to build and configure the container image.\n\n17. `index.js`\nEntry point or main file of the application, it is responsible for setting up and configuring the application. It is the file that is executed first when the application starts.\n\n18. `package.json` \u0026 `package-lock.json`\nManage dependencies and package versions.\n\n19. `README.md`\nA text file containing useful reference information about this project.\n\n20. `LICENSE`\nMIT LICENSE\n\n\n\n## About:\nThis is an assignment project for COSC2430 Web Programming offered at RMIT University Vietnam during Semester 2023A.\n\n- Campus: Saigon South (SGS), Vietnam\n\n- Lecturer: Mr. Tom Huynh\n\n### Background: \nFounded in 2012, Lazada Group is Southeast Asia's leading eCommerce platform. With a presence in six countries – Indonesia, Malaysia, the Philippines, Singapore, Thailand, and Vietnam – we connect this vast and diverse region through our technology, logistics and payments capabilities. Today, we have the largest selection of brands and sellers, and by 2030, we aim to serve 300 million customers. In 2016, Lazada became the regional flagship of the Alibaba Group, and is backed by Alibaba's best-in-class technology infrastructure.\n\n#### ECommerce System\n\nIn this project, with Lazada's permission, you are working on a simplified and slightly modified version of the above system.\n\n### Technologies used:\n\n**MEN Stack**\n- Frontend: EJS, Bootstrap CSS, CSS, JavaScript\n- Backend: NodeJS, ExpressJS\n- Database: MongoDB\n- Hosting: [Back4App](https://containers.back4app.com/) - a cloud service that helps developers deploy, run, scale, control, and stop containers by applying virtualization on container level.\n\n### Supporting tools used\n\n- UI Prototype: Canva, Codepen, Dribble, Figma\n- Management: [Trello Board](https://trello.com/invite/b/YPDCAFvR/ATTI3c6171182322837ae156161a1d76826bB17C326E/fullstack-web-project)\n- Other resources: MDN Web Docs, RMIT Canvas, NPM Package, ChatGPT, Packages' Docs\n- Packages: Refer to package.json and package-lock.json\n\n## Build\n\nTo clone and run this project, you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) (which comes with [npm](https://npmjs.com)) installed on your computer. \n\n- Prequisite: VSCode or Other IDE / Editor\n\n- From your CLI, Terminal or SHELL:\n\n```bash\n# Clone this repository\n$ git clone https://github.com/LaansDole/Group9_E-commerce_Website.git\n\n# Go into the repository\n$ cd Group9_E-commerce_Website\n\n# Install dependencies\n$ npm install\n\n# Start with npm\n$ npm start\n\n# OR Start with node\n$ node index.js\n```\n### To resolve this error: \n\u003ci\u003eEADDRINUSE, Address already in use\u003c/i\u003e\n```bash\n# Display the processes or applications that are currently using the network port 3000\n$ sudo lsof -i :3000\n# Check for the PID on the screeen\n$ kill -9 \u003cPID\u003e\n```\n\n## Test accounts\n1. Customer:\n```\nusername: customerTest\npassword: @Rmit2023\n```\n2. Vendor:\n```\nusername: vendorTest\npassword: @Rmit2023\n```\n3. Shipper:\n```\n# Hub: Giao Hang Tiet Kiem\nusername: shipperghtk\npassword: @Rmit2023\n\n# Hub: Giao Hang Nhanh\nusername: shipperghn\npassword: @Rmit2023\n\n...\n```\n\n## License\n\nThis software is licensed under the MIT License ©\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaansdole%2Fgroup9-ecommerce-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaansdole%2Fgroup9-ecommerce-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaansdole%2Fgroup9-ecommerce-website/lists"}