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
- amazon-ec2
- amazon-web-services
- aurora
- aws-codepipeline
- graphql
- java
- javascript
- postgresql
- react
- rest
- spring-boot
- tdd


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