Inspiration

Every developer deserves a simple and free agile project board

What it does

_ (Refer attached document - "SimplyAgile-Complete_Documentation.docx") _

Simply Agile – as the name depicts it is built to be simple and to help simplify the complex part of your agile project tracking. Every developer deserves a simple and free tool for their agile project tracking. Simply Agile is built to be a SaaS solution which fulfills this need. It provides features such as project team management, Kanban story board, simple graphical dashboard etc.

How I built it

_ (Refer attached document - "SimplyAgile-Complete_Documentation.docx") _

Backend Database Backend is powered by the PostgreSQL compatible version of Amazon Aurora database. Database is hosted on AWS and consumed as a service from Amazon RDS.

Backend Application Server-side application, which is the core of this solution is built with Java using Spring Boot framework. This backend service runs on its embedded Tomcat which is currently deployed on Amazon EC2 as a system service. Application build and deployment are fully automated using CI/CD pipeline created using AWS Code Pipeline, Code Build and Code Deploy services.

Database Transactions Database connectivity and transaction processing are taken care of by Spring Data JPA and Hibernate

APIs Core application APIs are powered by GraphQL. GraphQL makes the APIs easy to manage and consume. It helps the clients to save time and resources by allowing them to fetch only what they need with limited API calls compared to what a REST api would offer. Authentication and dashboarding services are provided over REST.

Frontend Application front end is as a SPA (Single Page Application) fully developed using React JS. User interfaces are kept neat and clean by following Material design. Front end is currently deployed and served from an Apache webserver hosted on Amazon EC2. Frontend application build and deployment are fully automated using CI/CD pipeline created using AWS Code Pipeline, Code Build and Code Deploy services.

Deployment Two CI/CD pipelines are created for performing deployments to AWS – One for the Frontened React application and another for the backend Spring boot application. Pipeline deploys the app to EC2 servers which are targeted by key-value tag pairs. Tag can be added to as many EC2 instances you want to deploy to. This enables easy scaling. AWS Code pipeline would be triggered via webhook call from Github whenever a code merge happens at the master branch. AWS CodeBuild is configured to perform the build and AWS CodeDeploy is used for the deployment. Code and Build artifacts are stored in AWS S3 Buckets.

Challenges I ran into

Building my first pipeline in AWS gave me challenging learning.

Building my first GraphQL API was a good challenge, especially providing meaningful exception messages to clients

Accomplishments that I'm proud of

Complete devops pipelines for UI and Backend

GraphQL APIs

First project using RDS and Aurora

Most importantly I'm proud that I will be using this software to track my next hackathon project stories.

What I learned

Devops in AWS

GraphQL

React

What's next for Simply Agile (Agileboard)

• Goal is to offer SimplyAgile as a multi-tenant SaaS solution.

• Responsive UI to support mobile platforms

• More efficient deployment options – Docker Containers on ECS Fargate

• Load balancing and auto scaling

• Ability to add Project “Features” and group Stories under “Features”

• Ability to edit/remove members and option to add more than one projects

• Time tracking on records and Auditing

• Timeboxing to allow release and sprint/iterations-based scrum boards

• Roles and separation of duties

• OAuth

• Ability to export Stories and Project state as reports or downloadable spreadsheets

• Segregation by organizations and improved security for multi tenancy

Built With

Share this project:
×

Updates

Eljo George posted an update

Got some time this evening to add a new feature to improve user experience.

Now you can simply drag and drop stories between status grids. Ex: If you want to move a Story from New to In Progress status, just drag it to the ‘In Progress’ grid. http://18.222.2.26/ (Supported in Chrome and Firefox. Clear your browser cache if not working)

Log in or sign up for Devpost to join the conversation.