Key Features • How To Use • Download • Credits • License
- This project explores RESTful APIs and Model-View-Controller (MVC) backend structures.
- Implementation of JWT token for user authentication
- User authentication
- Log in to view, update, delete, or add to your song ratings!
To clone and run this application locally, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/PelumiTayo/comp333-mobile.git
# Go into the repository
$ cd comp333-mobile
# For the frontend, go to directory mvc-frontend and install dependencies
$ npm install
# Go to src/pages/services/apiClient.jsx file
$ change this.remoteHostUrl to your wifis ip address
# Run the app
$ npm start
$ run according to whatever device you have. iOS or Android
# For the backend, go to directory mobile-backend
Install composer @ https://getcomposer.org/
- Make sure you have xampp installed, instructions [here](https://www.apachefriends.org/download.html).
- In xampp, run your mySQL database and Apache server.
- move to the directory that has your composer.json file
$ run composer install
- Move your backend folders into the htdocs folder, which is provided by xampp.
- Congratulations! Your backend is up and running on localhost! :)
Core functionality:
Model
: A database wrapper class that handles sql queriesUserModel
,RatingModel
,CommentModel
inherits the Model Class
Controller
: Handles user requests and passes them to theModel
Class for database operations.UserController
,RatingController
,CommentController
inherits theBaseController
class.
Route
: handles requests to 'user-friendly' urls to .php files located in/routes
For detailed documentation, refer to Backend Documentation
Here
This software uses the following open source packages:
- Node.js
- Front-End built with ReactNative and React Native Paper
- Back-End build with PHP
- JWT Tokenization
- Deployment done using Firebase for the frontend and AWS and Docker for the backend!
MIT
GitHub @PelumiTayo · GitHub @JohnWhangbo ·