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.
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!)
For example: git clone git@github.com:duarte-dot/g1learn-fullstack.git
Modify the env.example
file in the backend
directory to .env
.
(The file should look like this):

Run the commands:
cd frontend && npm i && cd ..
- installs frontend dependencies
cd backend && composer i && cd ..
- installs backend dependencies
In the project folder, open a terminal and use the command docker-compose up -d
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:


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

















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

The Frontend was developed in React with the following structure:


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

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: gabrieldvr@outlook.com
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