/contributor

Full-stack Spring Boot application. The goal of the app is to connect developers to work together on projects and share their opinions.

Primary LanguageJava

Contributor

Description

Contributor is a project that primarily serves to practice and improve technology. I tried to use all the technologies I know, but also the ones I am just learning.

The concept is based on the fact that developers can share their idea for an application or site.
They could then connect with people who are interested in joining and supporting the idea.
It is allowed to change and refine everything because the goal is learning.
Any suggestions or help are welcome.

Table of Contents

Installation
Database configuration
Dependencies
Screenshots
Contributing
Licence

git clone https://github.com/cfex/contributor.git
cd contributor
./mnw package
java -jar target/*.jar

or with Maven:
./mvnw spring-boot:run

You can then access Contributor on: http://localhost:8080/
Index page
screencapture-localhost-8080-2021-06-06-17_52_10

The application is configured to use MySQL when the default profile is active, and the h2 for the development profile.
MySQL Database (application.yml):

datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/contributordb?useSSL=false&allowPublicKeyRetrieval=true
    username: #db_username
    password: #db_password
    sql-script-encoding: UTF-8
    tomcat:
      connection-properties: useUnicode=true;characterEncoding=utf-8;
    platform: org.hibernate.dialect.MySQL5InnoDBDialect

or H2 (application-dev.yml):

h2:
    console:
      enabled: true
      path: /h2
      settings:
        trace: false
        web-allow-others: false
  datasource:
    url: jdbc:h2:mem:testdb
    username: sa
    password:
    driver-class-name: org.h2.Driver
  • Java 11
  • Spring Boot 2.4.4
  • Spring Data
  • Spring MVC
  • Spring Security
  • Thymeleaf
  • Slf4j
  • ModelMapper
  • Lombok
  • H2/MySQL

screencapture-localhost-8080-auth-registration-2021-06-06-17_52_35 screencapture-localhost-8080-auth-login-2021-06-06-17_52_52 screencapture-localhost-8080-users-me-2021-06-06-17_53_35 screencapture-localhost-8080-projects-dOjDUENMhyh6LsuvBb0SX3TXZRUCy8-edit-2021-06-06-17_53_48 screencapture-localhost-8080-projects-5lIMtYuwc2yfhVSm1BCn0XNqPfF3uT-details-2021-06-06-17_54_41 screencapture-localhost-8080-projects-create-2021-06-06-17_55_28 screencapture-localhost-8080-users-6pbIo6H7PSMLmpl3dBsAUXmX01jqUf-profile-2021-06-06-20_48_50 (1) screencapture-localhost-8080-projects-explore-2021-06-06-20_49_24

The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests.
Fell free to post anything.

Released under MIT Licence