Skip to content

Latest commit

 

History

History
151 lines (78 loc) · 6.1 KB

README.md

File metadata and controls

151 lines (78 loc) · 6.1 KB

Fórum App

This is a project that combines PHP backend using the Laravel framework and React frontend, also utilizing the MySQL database. The project was developed to complete the G1learn challenge.

The entire app is containerized with Docker 🐋!

All information such as created posts, comments, and registered users will be stored in the database.

Environment Setup

Before starting to use the project, you need to set up the development environment. Follow the steps below to configure the necessary environment. (It's really quick!)

Installation and Usage

1. Clone the project repository:

For example: git clone [email protected]:duarte-dot/g1learn-fullstack.git

2. Configure backend environment variables:

Modify the env.example file in the backend directory to .env. (The file should look like this):

Login screen

3. Install dependencies:

Run the commands:

cd frontend && npm i && cd .. - installs frontend dependencies

cd backend && composer i && cd .. - installs backend dependencies

4. Start the project using docker-compose:

In the project folder, open a terminal and use the command docker-compose up -d

5. Run migrations and seed the database:

Use the command php artisan migrate && php artisan db:seed

If it asks for permission, probably type "yes" in the terminal.

It will run the following two commands together, allowing us to populate our database with some fictional data:

Login screen Login screen

6. Access the project!

If you followed all the steps correctly, you can access the project through the route http://localhost:3000/

Project Information

Screenshots:

Login Screen:

Login screen

Registration Screen:

Registration screen

Home:

Home

Create Discussion:

Create discussion

Users Screen:

Users screen

Post (Discussion) Screen:

Post screen

Post Comments:

Post comments

Editing a Comment:

Edit comment

Edited Comment:

Edited comment

Editing and Deleting Your Own Posts:

Edit post

Post Edit:

Post edit

Mobile Versions:

Mobile version Mobile version Mobile version Mobile version Mobile version Mobile version

API:

An API was created for integration with the frontend with the following Controllers:

API Controllers

Frontend:

The Frontend was developed in React with the following structure:

Frontend structure Frontend structure

Routes:

You can try to access the routes via a request application. There is also the ThunderClient extension for VSCode, but I recommend Insomnia:

CRUD Systems:

CRUD Systems

Additions

I plan to continue working on the project and adding more features. If you have any suggestions, feel free to let me know! (Or, feel free to contribute and add)

Phone / Whatsapp: (21) 9 7568-1618

Email: [email protected]

Linkedin: https://www.linkedin.com/in/gabriel-duarte-dev/

Features I'm still considering adding:

  • Creating categories through the Frontend. (Already possible through routes with requests)
  • Profile pictures for users
  • Unit tests