This project is a full-stack web application (for a Tumblr-clone project assignment) featuring a dynamic and interactive blogging platform. The backend is built using PHP, providing robust API endpoints, authentication services, and database interactions. The frontend is developed with React.js, offering a modern, responsive user interface.
The main directory for the backend part of the project.
Contains the model files for the application.
Comment.php
: Defines the Comment model, representing comment data in the database.Post.php
: Defines the Post model, representing blog post data in the database.User.php
: Defines the User model, representing user data in the database.
Contains route definitions for the backend API.
Core services for the backend application.
api
: Directory containing specific API-related services.AuthService.php
: Service handling authentication logic.DatabaseService.php
: Service for database connection and operations.FeedService.php
: Service for managing the feed, including posts and comments.
Configuration file for the backend, includes database settings and other configurations.
The main directory for the frontend part of the project.
public
: Public assets for the frontend.src
: Source files for the frontend application.api
: Contains files related to API calls.components
: React components used in the application.pages
: Contains the React components for different pages.FeedPage.jsx
: The page that gets all the blogsHomePage.jsx
: The home page component.LoginPage.jsx
: The login page component.
styles
: CSS files and styling related resources.App.js
: Main React application file.index.js
: Entry point for the React application.routes.js
: Defines the routing for the frontend application.
- Navigate to
/backend
. - Install the necessary PHP dependencies (if any).
- Configure your database in
config.php
.
- Navigate to
/frontend
. - Run
npm install
ornpm ci
to install the proper node modules. DO NOT deletepackage.json
orpackage-lock.json
. - Start the frontend server with
npm start
.
After setting up both the front end and back end, you can start using the application by navigating to the front end's URL. The application supports creating, viewing, and managing blog posts and user comments.
Contributions to this project are not welcome.
- CS 314: Client-Server Systems