Welcome to the Instabytes backend repository! This is the component responsible for managing the business logic, data handling, and database integration for the Instabytes project.
- 🌟 Alura BackEnd Immersion
- 🚀 Technologies and Tools
- 📚 Project Structure
- 🔧 Installation and Setup
- 🤝 Contributing
This project was developed during the Alura BackEnd Immersion, a course focused on teaching the fundamentals of backend development using Node.js, Express.js, and MongoDB.
- Building RESTful APIs: Design and implementation of scalable API endpoints.
- Database Integration: Using MongoDB for data persistence and understanding CRUD operations.
- Middleware in Express.js: Leveraging middleware to handle requests and error management.
- Environment Management: Using
.env
files for configuration and best practices in handling sensitive data. - Testing: Introduction to testing APIs with tools like Postman, Thunder Client and basic unit testing.
- Deployment: Deploying the application to Google Cloud using Cloud Run.
The project not only provided hands-on experience but also emphasized the importance of writing clean, maintainable, and scalable backend code.
- Language: JavaScript, Shell
- Database: MongoDB
- Framework: Express.js
- Other Tools: Node.js, PostMan, ThunderClient, Multer
instabytes-back/
├── src/
│ ├── config/ # Configuration files
│ ├── controllers/ # Controllers logic
│ ├── models/ # Data models
│ ├── routes/ # API routes
│ └─ services/ # Business rules
├── uploads/ # Images uploaded by users
├── README.md # Main documentation
├── package.json # Dependencies and project configuration
├── server.js # Main application entry point
└── services.sh # Script to start the google cloud necessary services
-
Clone this repository:
git clone https://github.com/beatrizgouveia03/instabytes-back.git cd instabytes-back
-
Install dependencies:
npm install
-
Configure environment variables:
- Rename the
.env.example
file to.env
and update it with your details.
- Rename the
-
Start the server:
npm run dev
- Fork the repository.
- Create a branch for your feature:
git checkout -b my-new-feature
- Commit your changes:
git commit -m "Add new feature"
- Push your branch:
git push origin my-new-feature
- Open a pull request.