Note: this is my school project to learn Mobile Application Development, and it got the score of 9.5/10
- Introduction
- Getting Started
- Usage
- Features
- Project Structure
- Tech Stack
- References
- Team
- Contributing
- Development
- License
In the era of this fast-paced society, people need to constantly develop themselves in many aspects of life, especially with the support of technology. Many applications such as Fabulous, Habitify, ... help us manage these things. However, this is a new field that can be exploited and further developed, so my team choose to research and implement an app which helps build good habits and motivate personal development, named SuperSelf - Self Development App. The product inherits the strengths of its predecessors, and incorporates a number of interesting features towards the maximum personal development of the user.
Not only a normal scheduling application, SuperSelf offers users a new and exciting feeling when playing as a character joining in a private world and taking part in challenges, collecting experience then unlocking to explore new lands. In addition, the application also has a database of articles and images on many topics related to personal development (human communication, relationships, motivation, health, expenditure management, goal planning, knowledge, spiritual strength ...). At the same time users can share short stories about themselves (when they set goals, achieve success, ...) - everything is presented in the style of social-network like Facebook.
This project uses node and npm. Go check them out if you don't have them locally installed.
Install Expo and get used to it - a very helpful tool for building universal React app, as it mentions in the documentation.
$ npm install -g expo-cli
If you want to run the app directly before deploying in iOS or Android, download Expo Client on your phone.
Make sure you have downloaded the suitable version of Expo up to now. It should be Expo SDK >= 40.
- First, clone this project
$ git clone https://github.com/lhmson/SuperSelf.git
- Change directory
$ cd SuperSelf
- Install packages
$ npm install
- Run the app
$ npm start
or
$ expo start
-
Scan displayed QR code with Expo client
-
Enjoy all features of the app by signing up
First you have to have an account. Click Sign up and enter. Just easy as that and you can explore the world of self development
Demo world
App Screen Flow
- Languages: JavaScript
- Framework: React Native >= 0.63
- Database Backend Service: Firebase (Cloud Firestore)
- Text Editor: Visual Studio Code
- Tool: Expo >= SDK 40
- Version Control System: Git
- UI Prototype: Powerpoint
- Galio UI
- React Navigation
- Expo push notifications
- Styled components
- React context
- Redux
- Lucid chart
- expo vector icon
- Unsplash
- DesignIntoCode
- React Native Animation
- Combining Stack, Tab & Drawer Navigations in React Native With React Navigation 5, Ekunola Ezekiel (2020)
- Realtime Database vs. Cloud Firestore β Which Database is Suitable for your Mobile App, Ashish Sharma (2018)
- How to Build a React Native App and Integrate It with Firebase, Florian Marcu (2020)
This project exists thanks to all the people who contribute.
My original team has 2 members, including me: Le Hoang Minh Son (lhmson) and Pham Lien Sanh (sanhlike). We discuss, select a topic, and specify the software design process, then make a list of features to implement, which has changed many times before we have this product.
Made with contributors-img.
Feel free to dive in! Open an issue or submit PRs.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project follows the Contributor Covenant Code of Conduct.
Now I am not working on building and maintaining this project. If there comes error when setting up, try to fix it. You can feel free to clone and develop. Should anything wrong happen to Firebase, create a new Cloudstore DB and edit the config file in firebase folder.
Some examples of functions to implement, these are plans of us and you to extend the app
- Scale number of users while keeping the stability of the app (now up to 100)
- Optimize memory and execution time of functions
- Message among users (like Messenger)
- More elements and maps
- Ranking system, friends,...
- More items for database
- Report user stories
- Users can post articles through censorship
- Comments, number of likes
- and many aspects to generate
GNU