Software Engineer Project
The Gift Shop Mobile App is an innovative platform designed for seamless and secure browsing, customization, ordering, and purchasing of gifts. It offers a user-friendly interface with a focus on customer satisfaction.
- Provide a convenient platform for unique gift items.
- Offer seamless shopping with secure payments.
- Enhance customer engagement through personalized recommendations and loyalty programs.
- Drive sales and increase customer satisfaction.
Name | Role |
---|---|
Trần Ngọc Đăng Khôi | Project Owner |
Nguyễn Trần Hoàng Hạ | Team Member |
Nguyễn Hoàng Gia Ân | Team Member |
Trần Thế Phong | Team Member |
Phạm Nguyễn Đăng Khôi | Team Member |
Võ Minh Khang | Team Member |
Nguyễn Trọng Nguyên | Team Member |
- Sign-in and registration.
- Profile updates.
- Viewing ratings and reviews.
- Multiple payment methods.
- Order finalization and cancellation before payment.
- Profile information updates.
- Category updates and modifications.
- User account management.
- Monitoring and analyzing user feedback and data.
- Ensuring high-rated gifts are available for order.
- User-friendly interface with quick and efficient order services.
- Secure payment options.
- High availability and fault tolerance.
- Scalability to handle large order volumes.
- Framework: React Native with Expo CLI
- State Management: Redux
- Navigation: React Navigation
- API Requests: Axios
- Runtime: Node.js
- Framework: Express
- Database: MongoDB (Mongoose for ODM)
- Authentication: JSON Web Tokens (JWT)
- Environment Variables: dotenv
- Password Hashing: bcrypt
The app uses a client-server architecture with React Native for the frontend and Node.js with Express for the backend. MongoDB is used for data storage, and JWT is used for authentication. Stripe handles secure payment processing.
- Node.js
- npm (Node Package Manager)
- Expo CLI
- MongoDB
-
Clone the repository:
git clone https://github.com/koitran14/Gift-Shop-Mobile-App.git cd Gift-Shop-Mobile-App
-
Install dependencies:
npm install
-
Run the app:
expo start
-
Clone the repository:
git clone https://github.com/koitran14/Gift-Shop-Mobile-Server.git cd Gift-Shop-Mobile-Server
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory and add the following:DATABASE_URL='your_mongodb_uri' DATABASE_NAME='giftDB' SERVER_PORT=3000 SERVER_IP='<IPv4 Address>' JWT_SECRET='giftDelivery'
-
Run the server:
node index.js
The project follows Agile methodology with Scrum. Development is divided into multiple sprints, each focusing on specific features and functionalities. Regular progress evaluations and feedback incorporation ensure continuous improvement.
- Research Phase: Identify suitable techniques, frameworks, and processes.
- Implementation Phase: Adopt Scrum, divide features into sprints.
- Midterm Progress Evaluation: Provide updates on features and sprints.
- Enhancement Phase: Incorporate feedback for product alignment and efficiency.
- User Story: Customers can create a unique gift shop account.
- Tasks: UI Building, HomeScreen Backend Debugging, Login + Register Fetching Functionalities.
- User Story: Intuitive and visually appealing homescreen.
- Tasks: Homescreen design and functionality, responsiveness, accessibility, performance optimization.
- User Story: Comprehensive shopping experience with user profiles, shopping carts, and shop profiles.
- Tasks: Profile Screen, Cart Screen, Shop Profile integration.
- Additional customization of the user interface.
- Simplification of the checkout process to maintain competitiveness.
We thank the entire team for their dedication and hard work throughout the project. Special thanks to our stakeholders for their valuable feedback and support.
Note: This project was developed as part of the curriculum at the School of Computer Science and Engineering, International University.