Skip to content

duarte-dot/g1learn-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 git@github.com: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: 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

About

fullstack forum with backend in PHP/Laravel and frontend in React.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published