Welcome to the FacilitaJuridicoTest API - a simple web application designed for the purpose of showcasing my developer skills. This project is built using Flask for the backend and React JS for the frontend. The goal is pretty simple: generate a list of random activities based on user requests and parameters. The activities can be monitored (done/undone), removed, or added later. This project uses the awesome Bored API, which is free to use! (more information about them here)
The Bored API project consists of two main folders: backend and frontend. You'll need Python3 & Node.js to run this project.
- Navigate to the backend folder.
- Run
python main.py
to start the server. - This will automatically create our sample database.
- Navigate to the frontend folder.
- Then, run
npm install
- After that, run
npm run dev
- The React app should be running now.
Now, go to a browser and open it up the URL for the frontend app.
This application has theses features:
- Generating a list of random activities based on user requests.
- Creating a new activity per user filters.
- Saving, Monitoring, Removing and Checking activities from our database.
During the development of this project, some of the challenges faced were:
- Ensuring the correct usage of the Bored API.
- Implementing a system to manage the activities.
- Creating an intuitive user interface with React JS.
- Parsing the data correctly to our database.
For future improvements, some ideas include:
- Implementing unit testing and writing tests to ensure the application's functionality and stability.
- Improving scalability by optimizing the code and implementing caching mechanisms.
- Handling wrongful user inputs by implementing a robust input validation and error handling.
- Enhancing the user interface with better design and visual appeal (even though I am not a design artist, I can still try my best!).
- Implementing a more sophisticated algorithm for generating activities (maybe allow for more filters).
- Adding user authentication and authorization.
- Setting a limit on the number of requests a user can make to prevent abuse and improve system performance.
By implementing these improvements, this app can become a more robust and user-friendly application, maybe even a production-wise app.
This project is a simple web application that demonstrates the ability to use a API, generate random activities and manage them in a database. It provides a foundation for more complex applications, showcasing the power of Flask and React JS, along with the flexibility of REST API design. I hope this project can showcase accurately my skills as a web developer and software engineer.
If you have any questions, feel free to send me an e-mail at [email protected].
Cheers! 🎉