- Introduction
- How to install the project
- Local Addresses
- Demo
- Screenshots
- Installation
- Contribution Guidelines
- Documentation
- Links of interest
- Used By
- Acknowledgements
- FAQ
ITA Profiles is a project from IT Academy post-specialization course that allows students from our academy to gain experience in a team that is using SCRUM methodology, and several technologies often used by most tech companies. So, the main focus of the project is to help grow our students so they can learn to work in a team, question, think solutions and face the usual challenges.
The project now integrates both frontend and backend functionalities to provide a seamless experience for users.
We use docker containers to share the same versions of PHP and MySQL around all the team members. After cloning the project in your local environment, follow these steps:
-
Install Docker by following the instructions here.
-
Once Docker is installed, go to the project's root folder and build the containers by running:
docker compose up --build -d
- Verify that the containers are running by executing:
docker ps
- You can now run commands inside the container using the following format:
docker exec -it <app-container-name> <the-command>
For example:
docker exec -it php composer install
docker exec -it php php artisan migrate:fresh
docker exec -it php php artisan db:seed
After the containers are up, you can access various tools locally:
- Local Laravel API: http://localhost
- Local Swagger documentation: http://localhost:8000/api/documentation
- Local PHPMyAdmin (MySQL): http://localhost:9015
- Code Coverage: file:///path/to/your/project/tests/coverage/index.html
Use the following credentials to access PHPMyAdmin:
Host: mysql
User: user
Password: password
Some functionnalities require a GitHub token. If you don't have one, you can generate one here: https://github.com/settings/tokens. You can then use it in the .env
file.
Below is a list of commands developed for the project, including their descriptions and command help.
Command Name | Description | Command Help |
---|---|---|
create:company |
Creates a new company in the database. | create:company --help |
|
--
To install the frontend, follow these steps:
git clone --
npm i
npm run dev
If a backend API is not available, you can use json-server. Start a local server to keep track of the db.json
file:
npx json-server --watch db.json -m ./node_modules/json-server-auth
Change the port of the server if needed:
npx json-server --watch -p 3001 db.json -m ./node_modules/json-server-auth
Contributions are always welcome! Please follow these guidelines:
- Components: All React components should be created within the /components folder. These components should focus solely on rendering and presenting data. They should not contain any logic or API calls.
- Pages: Create new pages within the /pages folder. Pages should serve as the top-level components that define the structure of a route and may contain a composition of components. Keep pages clean and avoid adding complex logic directly to them.
- Logic and API Calls: Components should not contain logic or make API calls directly. Utilize either the React Context API or Redux state management for handling application logic and data fetching. Create separate files for actions, reducers, and selectors as needed within the Redux structure.
- Redux: Follow the Redux pattern for actions and reducers. Ensure that reducers are pure functions and keep state updates predictable.
- Branches: Create a new branch from the dev branch with a descriptive name for new features or bug fixes.
- Commits: Make frequent, well-documented commits with clear and concise messages.
- Pull Requests: Submit a pull request when your feature or bug fix is ready for review. Include a description of your changes and reference any related issues.
- Code Style: Maintain a consistent code style throughout the project. Use appropriate naming conventions, indentation, and follow any established coding standards.
- Code Reviews: Be open to feedback during code reviews to ensure code quality and maintainability.
Please follow the coding guidelines defined in the documentation.
-
Swagger: Bakend Documentation
-
Figma: we take our designs from here
-
Netlify: we use this to simulate the production URL
-
GitHub Project Table: here you'll find the team's issues
This project is being used by IT Academy at Barcelona Activa.
Thanks to all the students whose hard work makes these projects possible and move forward.
Complete the React specialization at IT Academy.
This project provides a real-world environment to apply all the concepts learned in the bootcamp. It also allows for learning more advanced concepts and facing real-life situations that may occur in a company.