ONLY FOR ITALIAN GUYS
This repository is designed to test the technical skills of candidates for a full stack developer position. It consists of the following structure:
- Api: The backend folder built with Node.js.
- Frontend: The frontend folder built with React and Ant Design.
- docker-compose.yml: A Docker Compose file in the root directory to run three containers locally, simulating a small infrastructure (API, frontend, and MongoDB database).
Expense and Income Diary: Create an application to track daily expenses and incomes. Users should be able to add, read, update, and delete expense and income entries.
- Clone this repository to your local machine.
- Create a new repository on your own GitHub account.
- Push the cloned repository to your new GitHub repository.
- Implement a small API that performs CRUD operations as specified.
- Create a frontend application to interact with the CRUD API.
- When completed, send an email with the link to your repository to staff@meblabs.com.
Note: The template provides several features, helpers, and middleware for the backend, and components for the frontend. It is up to the candidate to choose whether to use them or not. You are not required to overdo or spend excessive time on this task. The exercise will be a discussion point, where you can justify your choices and explain any features you omitted due to time constraints or other reasons.
Please make your commits in a structured and meaningful way. Ideally, follow the Conventional Commits specification.
- Code Quality: Clean, well-structured, and commented code.
- Functionality: The CRUD operations work as expected and are tested in the
api/specs
folder. - UI/UX: The frontend is user-friendly and visually appealing.
- Clone the repository.
- Install the packages with
npm ci
in both theapi
andfrontend
folders. - Run
docker-compose up
from the root directory. - Once Docker is up and running, to seed the database, run the command
npm run seed
inside theapi
folder. - Visit
http://localhost
to access the application. Use the following credentials, created by the seed process, to log in:- Email:
test@meblabs.com
- Password:
testtest
- Email:
- Start coding!
Good luck!