- π Project Description
- π Project Objectives
- π Technical Competencies
- π» Technologies Used
- π― Functional Requirements
- β Bonus Features
- βοΈ Non-Functional Requirements
- π Project Architecture
- π UI Design
- π Installation Guide
- π€ Contribution
- ππΌ Farewell
The Coworking Reservation System is a web application designed to facilitate the booking of coworking spaces, with a special focus on promoting gender equality, social innovation, and feminist economics. The main goal is to maximize resource usage, avoid scheduling conflicts, and enable effective space management.
This system is aimed at entrepreneurs, small businesses, and projects focused on equal opportunities, providing a collaborative space and technical assistance to promote business growth.
- Foster entrepreneurial vocations and business creation.
- Promote continuity and business growth through efficient resource management.
- Encourage social and solidarity-based economy by facilitating the reservation and use of collaborative spaces.
- Create a dynamic and responsive web user interface.
- Develop the backend.
- Implement a relational database.
- Build data access components.
- Develop a user interface with content management capabilities.
- User Authentication: Users should be able to register and log in using email and password.
- User Roles:
- Admin: Can manage users and view/edit all reservations.
- User: Can create, read, update, and delete (CRUD) their reservations.
- Space Management:
- Book individual desks, offices, or meeting rooms.
- Automatic confirmation of reservations.
- Dynamic management of time slots.
- Reservation Interface:
- View availability via an interactive calendar.
- Interactive coworking space view that changes color to indicate availability.
- Admin Control Panel:
- CRUD management for users.
- View all reservations and make modifications if needed.
- Integration with Google Calendar or other methods for automatic reminders.
- Sending confirmation emails and reservation reminders.
- Use Spring Boot and React.js.
- Implement Styled Components for responsive design.
- Ensure excellent user experience (UX).
- Follow a 3-layer MVC architecture (Model-View-Controller) with a client-server, REST API structure.
- The project should be fully tested (unit tests, integration tests, or TDD).
The project follows a 3-layer MVC (Model-View-Controller) architecture:
- Model: PostgreSQL database management.
- View: React.js user interface with Styled Components.
- Controller: Spring Boot REST API for handling business logic and serving data.
The user interface design follows Atomic Design methodology, allowing the creation of scalable and reusable components. The interfaces are intuitive and user-centered, prioritizing usability and performance.
Design Process:
- Wireframes and prototypes created in Figma.
- Visual development for both mobile and desktop.
- Implementation of a responsive and modern design using Styled Components.
- Node.js (v14+)
- Java 11+
- PostgreSQL
Frontend:
git clone https://github.com/castellanorn/ciba-coworking-front.git
Backend:
git clone https://github.com/Sarii4/ciba-coworking-back.git
Frontend:
cd ciba-coworking-front
Backend:
cd ciba-coworking-back
Frontend:
npm install
Backend:
./mvnw install
Start the Backend server:
cd backend
./mvnw spring-boot:run
Start the Frontend application:
cd frontend
npm start
Access the frontend application in your browser at http://localhost:3001.
Contributions are welcome. Please follow these steps:
Fork the project:
git clone https://github.com/castellanorn/ciba-coworking-front.git
Create a new branch:
git checkout -b feature/new-functionality
Make your changes and commit them:
git commit -am 'Add new functionality'
Push your changes to the branch:
git push origin feature/new-functionality
Open a Pull Request: Once you've pushed the changes, open a Pull Request on GitHub to get them reviewed and merged.
Thank you for taking the time to check out our project! We hope it provides valuable insights and contributes to better management and utilization of coworking spaces.
**Mercedes CeledΓ³n, Product Owner**
**Ekaterina Buinovskaia, Scrum Master**
**Shaila GonzΓ‘lez, Developer**
**Carolina Alonso, Developer**
**Rosse Catellanos, Developer**
πΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏ π»π»π» COWORKING LA CIBA π»π»π» πΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏ
πΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏ π±π±π±π±π±π±π±π±π±π±π±π±π±π±π± πΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏ
πΏπ»πͺπ»πΏπΏπ»πͺπ»πΏπΏπ»πͺπ»πΏ πΌπΌπΌπΌπΌπΌπΌπΌπΌπΌπΌπΌπΌπΌπΌ πΏπ»πͺπ»πΏπΏπ»πͺπ»πΏπΏπ»πͺπ»πΏ
πΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏ π±π±π±π±π±π±π±π±π±π±π±π±π±π±π± πΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏ
π‘π’πΌπ’π‘π‘π’πΌπ’π‘π‘π’πΌπ’π‘ π»π»π»π»π»π»π»π»π»π»π»π»π»π»π» π‘π’πΌπ’π‘π‘π’πΌπ’π‘π‘π’πΌπ’π‘
πΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏ πΏπΏπΏπΏπΏπΏπΏπΏπΏπΏπΏπΏπΏπΏπΏ πΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏπΏπΏπΏπ±πΏπΏ