DSCKabarak / ComradeMarketPlace

A community project, that is an e-commerce website.
11 stars 14 forks source link

Comrade Marketplace

Overview:

An e-commerce website is an online platform that allows users to buy and sell tangible items, services, and digital products. The GDSC Kabarak University Comrade Marketplace project aims to create an e-commerce platform that will be available only to members of a specific institution. This platform will allow vendors to advertise their goods, and interested customers can make purchases or make an agreement with the vendor for a sale without necessarily making payments through the website.

This project was initiated to provide a platform for students to conduct their personal businesses within their institution or closed community. Many students already have businesses, but they may not have an efficient platform to showcase and sell their products, leading them to use social media platforms. Additionally, when students graduate or finish school, they may want to sell the items they used during their time in school, and other students may want to purchase these items at a lower price rather than buying new items. This platform targets vendors and sellers who want to sell their products to a specific audience, making it an ideal solution for this scenario.

Goals:

The primary goal of this project is to provide members of the GDSC community with an opportunity to develop their software engineering and development skills while working on a real-world application that can be added to their portfolio. The project's aim is to sharpen software engineering and development skills and work ethics for every participant and contributor.

Specifications:

The project's structure involves the use of a server-side, with several client-side platforms that include Android, iOS, and web, which will be API-enabled for efficient communication. ReactJS will be used to build the frontend, while the Android platform will be built using Kotlin and Jetpack Compose. Django will handle the business logic, and PostgreSQL will be used as the database. Additionally, Django Restframework will be used to implement APIs.

Requirement Specification:

The e-commerce website will serve as a platform where sellers can showcase their products, and interested buyers can search for and purchase or make an agreement with the vendor without necessarily making payments through the website.

The intended audience is members of a specific institution or a closed community, and some of the features of the platform include:

The application's business environment is to provide vendors and buyers with a platform for conducting product marketing or purchasing, respectively. An agreement is made between the two parties on terms of payment, product inspection and mode of product delivery.

The application's physical environment will consist of a web server hosted on a cloud service. The physical server location will be based on the cloud service provider that will be opted for. To ensure fast content serving, the physical servers should be located geographically close to the area where the application will be mostly used.

Stakeholders/Actors:

The GDSC Kabarak University Comrade Marketplace project has different stakeholders or actors who play a vital role in the project. Firstly, the developers are responsible for building and maintaining the project. They will be involved in coding, designing, and testing the system.

The vendors are the individuals who offer goods and services for sale on the marketplace. They can be students, alumni, or anyone within the university community who wants to sell items. They will use the platform to showcase and sell their items to interested buyers.

Lastly, the buyers are the individuals who will be purchasing goods and services on the platform. They can be students, staff, or anyone within the university community looking for items to buy. They will use the platform to search for and purchase items from the vendors. All these stakeholders are crucial for the success of the project. The developers will ensure that the platform is functional and user-friendly, while the vendors and buyers will ensure that the marketplace is active and productive.

User Stories:

Some of the user stories for the project include:

System Features and Requirements:

Functional requirements

The following are some of the functional requirements of the project:

Order and Checkout Flow

There is no order and checkout flow, and this needs to be added.

Security

Security is an essential aspect of any e-commerce website. The application will require authentication for all users to ensure that only authorized persons can access the system. Passwords will be encrypted and stored securely to prevent unauthorized access. For the API’s JWT authentication will be used.

Scalability

The e-commerce website should be scalable to accommodate a growing number of users and vendors. The application will utilize cloud services to host the server-side and client-side web applications, which will provide the ability to scale up or down according to demand. The database should also be scalable to handle an increasing amount of data.

Future functionality considerations

The application can be integrated with third-party payment gateways such as Mpesa to enable financial transactions between buyers and sellers (however, this will be implemented at a later phase as of the first version, the platform will not be supporting any form of payments). Additionally, a recommendation algorithm can be implemented for frequent users of the website to enhance their shopping experience. This will provide suggestions based on their search history and preferences.

Assumptions and Dependencies

The success of this project will depend on the commitment and dedication of the GDSC Kabarak University community members.

In conclusion, the e-commerce website project by the GDSC Kabarak University community aims to provide a platform for vendors and buyers within the institution to conduct product marketing and purchasing, respectively. The project will enhance the software development skills of the contributors, provide a real-world application to add to their portfolios, and create a useful tool for the intended audience. The project will require the application of software engineering principles such as security, scalability, and future functionality considerations.