Assignment for the 2023 edition of the "Web Development and the Semantic Web" course, by Delvani Antônio Mateus, Enzo Baioco Cussuol, Fernando Azevedo Peres and Rausth Borges Junqueira.
Welcome to the Marktia project!
Marktia is an online platform developed for connecting service providers with service seekers. The project aims to provide a user-friendly and efficient marketplace experience for both parties. It includes features such as service listings, search and filtering options, booking and scheduling capabilities, secure payment options, and review and rating systems.
The following technologies are used in the development of Marktia:
Front-end Technologies:
- TypeScript: A statically typed programming language that enhances JavaScript with additional features and improved scalability.
- NextJS: A React framework for server-side rendering (SSR) and building scalable modern web applications.
- NextAuth: A library for user authentication in Next.js applications.
- Tailwind CSS: A highly customizable utility-first CSS framework for building responsive interfaces quickly.
Back-end Technologies:
- Java: A popular and robust programming language widely used in enterprise application development.
- Spring Boot: A framework that simplifies the development of Java applications, providing an embedded Tomcat server and facilitating the creation of REST APIs.
- Spring Boot DevTools: Tools that enhance the development experience in a Spring Boot project.
- JPA: Java Persistence API, a specification for object-relational mapping in Java applications.
- Spring Security: A powerful security framework for Java applications.
- Lombok: A library that helps reduce boilerplate code in Java projects.
- MySQL Server: A popular open-source relational database management system.
- Tomcat: An Apache web server implementation of the Java Servlet and JavaServer Pages (JSP) technologies.
To get started with Marktia, follow the steps below:
We provide a docker-compose file, which is responsible for launching 3 containers: one for the database (MySQL), one for the backend (Spring Boot) and one for the frontend (NextJS). Just run:
docker-compose up
After everything is up (the process can take a little long), access the application at http://localhost:3000
.
Backend:
-
Ensure you have Java JDK (at least version 8) and Apache Maven installed on your machine. Also, it is necessary to have a MySQL Server instance running.
-
Clone the repository by running the following command in your terminal or command prompt:
git clone https://github.com/~/2023-MarktIA.git
-
Navigate to the backend directory:
cd 2023-MarktIA/backend
-
Build the backend project using Maven:
mvn spring-boot:run
This command will download the required dependencies, compile the source code, and package the application into a JAR file.
-
The backend server will start at
http://localhost:8080
.
Frontend:
-
Ensure you have Node.js and npm (Node Package Manager) installed on your machine.
-
Navigate to the frontend directory:
cd 2023-MarktIA/frontend
-
Install the dependencies by running:
npm install
-
Run the development environment:
npm run dev
-
Start the frontend development server:
npm start
This will start the frontend server at
http://localhost:3000
and open the application in your default browser.
Before running the services marketplace application, ensure that you have completed the installation steps mentioned above. Follow the instructions below to use Marktia Services Marketplace:
-
Start the back-end server by running the appropriate command.
-
Launch the front-end application using the specified command or script.
-
Access Marktia through your web browser at the provided URL.
-
Explore the marketplace features, search for services, book appointments, make payments, and provide feedback through reviews and ratings.
Contributions are welcome to improve Marktia Services Marketplace. If you would like to contribute, please follow these steps:
-
Fork the repository.
-
Create a new branch for your feature or bug fix.
-
Make your changes and commit them with descriptive messages.
-
Push your changes to your forked repository.
-
Submit a pull request, explaining your changes and the benefits they bring.
Please ensure that your contributions adhere to the project's code of conduct.
The Marktia Services Marketplace project is licensed under the MIT License. Feel free to modify and distribute the code as per the terms of the license.