-
This project explores RESTful APIs and Model-View-Controller (MVC) backend structures.
-
User authentication
- Log in to view, update, delete, or add to your song ratings!
-
Mobile Friendly
- Take SonicScore on the go!
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-MVC.git
# Go into the repository
$ cd comp333-MVC
# For the frontend, go to directory mvc-frontend and install dependencies
$ npm install
# Go to src/components/services/apiClient.jsx file
$ change this.remoteHostUrl to "http://localhost"
# Run the app
$ npm start
# For the backend, go to directory mvc-backend
- Make sure you have xampp installed, instructions [here](https://www.apachefriends.org/download.html).
- In xampp, run your mySQL database and Apache server.
- 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
This software uses the following open source packages:
- Node.js
- Front-End built with React and Material UI
- Back-End build with PHP
- Deployment done using Firebase for the frontend and AWS and Docker for the backend!
MIT
GitHub @PelumiTayo · GitHub @JohnWhangbo ·