Trailiva-backend
Trailiva is a project management tool that you may use to keep track of your personal, professional, and open source projects.
Trailiva backend offers the APIs needed to complete every project requirement.
The API documentation is hosted here
Technologies
- Springboot (Framework used to develop the APIs)
- Postgresql (Database for datastorage)
- Sendgrid (SMTP server for mail sending)
- Cloudinary (File server for User pictures and videos)
- Jwt (Library for authentication)
- Heroku (Hosting service)
How To Run The Project
- Clone project
- create a database named
trailiva
on PGAdmin or any PostgreSql platform - check out to dev with command
git checkout dev
- Add this configuration to
application.properties file
:
server.port=9000
**------ Postgresql configuration ------**
spring.datasource.url=jdbc:postgresql://localhost:5432/trailiva
spring.datasource.username=enter_db_username
spring.datasource.password=enter_db_password
**------ Hibernate configuration -----**
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=create
**------ Cloudinary config ------**
CLOUD_NAME= `enter_cloudinary_name`
API_KEY= enter `cloudinary_api_key`
API_SECRET= `enter_cloudinary_secret_key`
- Run project with command
mvn spring-boot:run
Requirements
Functional
- Users can sign up, sign in, verify account, refresh authentication token, forget password, reset password and update profile picture.
- Users can add contributors to workspace
- Users can add moderators to workspace
- Users can create project
- Users can create task
- Contributor can work on task, request for task
- Moderator can assign task to User, create task, review task
Non-Functional
- Application should be secure
- The application should be available
API Design
Badges
Social buttons
Repo metadata
License
Released under MIT by @Whalewalker.