{"id":18539733,"url":"https://github.com/eaball35/dutch-ticket-auction","last_synced_at":"2026-05-02T18:33:51.834Z","repository":{"id":40919048,"uuid":"229666376","full_name":"eaball35/dutch-ticket-auction","owner":"eaball35","description":"Capstone project: web-based ticket auction app","archived":false,"fork":false,"pushed_at":"2023-01-05T11:18:50.000Z","size":67157,"stargazers_count":1,"open_issues_count":27,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-26T04:29:00.600Z","etag":null,"topics":["ada-capstone","ada-developers-academy","aws","java","mongodb","spring"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eaball35.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-23T03:02:32.000Z","updated_at":"2021-01-13T23:14:58.000Z","dependencies_parsed_at":"2023-02-04T02:47:47.901Z","dependency_job_id":null,"html_url":"https://github.com/eaball35/dutch-ticket-auction","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eaball35%2Fdutch-ticket-auction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eaball35%2Fdutch-ticket-auction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eaball35%2Fdutch-ticket-auction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eaball35%2Fdutch-ticket-auction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eaball35","download_url":"https://codeload.github.com/eaball35/dutch-ticket-auction/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239255331,"owners_count":19608252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ada-capstone","ada-developers-academy","aws","java","mongodb","spring"],"created_at":"2024-11-06T19:49:55.167Z","updated_at":"2025-10-17T18:03:47.243Z","avatar_url":"https://github.com/eaball35.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e \n     \u003cimg src=\"https://live.staticflickr.com/65535/49431678272_11fda6a894_w.jpg\"\n          alt=\"TicketClock Logo\"/\u003e\n\u003c/p\u003e\n\n\u003ca href=\"http://ticketclock.com\" target=\"_blank\"\u003eTicketClock.com\u003c/a\u003e is a web-based ticket auction app which allows sellers to list tickets at whatever price and that price will reduce until a buyer is found OR the time of the event. This model is also know as a 'dutch' or 'time-based' auction. \n\nThe project, created entirely by Emily Ball, was developed for her Ada Developers Academy Capstone project. For additional information or questions, please reach out directly to Emily at eaball35@gmail.com.\n\n## Table of Contents\n* [Demo](#demo)\n* [Technologies](#technologies)\n* [Getting Started](#getting-started)\n* [About Capstone](#about-capstone)\n* [Product Plan](#product-plan)\n* [Wireframes/Diagrams](#wireframes-and-diagrams)\n\n\n## Demo\n\u003cp align=\"center\"\u003e \n     \u003cimg src=\"https://thumbs.gfycat.com/SpeedyDecimalBorer-size_restricted.gif\"\n          alt=\"By Location Demo\"\n          width=\"400\"/\u003e\n     \u003cimg src=\"https://thumbs.gfycat.com/ShorttermAccurateFantail-size_restricted.gif\"\n          alt=\"Search Demo\"\n          width=\"400\"/\u003e\n     \u003cimg src=\"https://thumbs.gfycat.com/InfamousPotableBlesbok-size_restricted.gif\"\n          alt=\"LoggedIn Checkout Demo\"\n          width=\"400\"/\u003e\n     \u003cimg src=\"https://thumbs.gfycat.com/YellowishAbsoluteAmurstarfish-size_restricted.gif\"\n          alt=\"NewTicket Demo\"\n          width=\"400\"/\u003e\n\u003c/p\u003e\n\n\n\n## Technologies\nBackend\n * Language - [Java](https://www.oracle.com/java/)\n * Framework - [Spring Boot](https://spring.io/projects/spring-boot)\n * Database - [MongoDB](https://www.mongodb.com/)\n\nFrontend\n* Languages - HTML/css/JavaScript\n* Framework - [React JS](https://reactjs.org/)\n* Library - [Bootstrap](https://react-bootstrap.github.io/)\n* [Google Maps Visual Component](https://www.npmjs.com/package/google-map-react)\n* [US States Visual Component](https://www.npmjs.com/package/react-usa-map)\n\nExternal APIs\n* [Eventful.com api](https://api.eventful.com/) - Seed Databse with Events/Venues/Performers\n* [Google Maps api](https://developers.google.com/maps/documentation) - Frontend Map Components\n* [Google Geocoding api](https://developers.google.com/maps/documentation/geocoding/start) - Location to Lat/Lng\n\nDeployment\n* [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) - Database\n* [AWS Elastic Beanstalk + EC2](https://aws.amazon.com/elasticbeanstalk/) - Backend API\n* [AWS S3](https://aws.amazon.com/s3/) - Frontend Site\n* [AWS Route 53](https://aws.amazon.com/route53/) - Domain\n\n## About Capstone\nCapstone is the largest undertaking while at Ada Developers Academy. Given roughly 3 weeks, students take on roles of both the product owner and developer for their own full stack concepts. It is up to students to decide what and how things get built, given the added challenge of incorporating at least 3 new learned technologies. Projects are demoed at the end of captsone during a science fair style celebration. For additional information on Ada Capstone, vist Ada's project repo [here](https://github.com/Ada-C12/capstone).\n\n#### Ada Capstone Learning Goals\n * Demonstrate self-direction, time management, and independent learning\n * Learn and implement new technologies\n * Complete a product lifecycle from conception to delivery\n * Utilize agile practices learned to assist in project completion\n \n #### Emily's Added Capstone Learning Goals\n * Exposure to statically typed language\n * Exposure to non-relational database\n * Exposure to deploying with cloud services such as AWS\n * Additional practice working with API integrations\n \n## Product Plan\n###### Problem Statement\nOften I see resale tickets going for ridiculously high prices just hours before the show only to never be purchased. This means unhappy fans AND loss of potential revenue for sellers. Other times, I buy tickets to a show only to find I can't go. I'd be happy to get whatever I can get for the tickets, otherwise I want to just give them away cheap to another fan.\n\nTo solve this problem, I propose developing a web-based app which allows sellers to list tickets at whatever price and that price will reduce until a buyer is found OR the time of the event.\n\n###### Market Research\nCurrently, you can list tickets on sites like Ticketmaster, StubHub, or Craigslist for a certain price, without being sure you're getting the market rate, or you can use an auction-based site like Ebay. While Ebay is great, their traditional auction model doesn't always work well for the unique supply and demand of an asset like tickets which are worthless after a specific time.\n\n###### Target Audience\nMy app targets concert goers and event attendenders. Both those who have extra tickets and want to get rid of them, and those who don't have tickets yet but want good deals on them.\n\n\n## Wireframes and Diagrams\n###### Original Wireframes using [Figma.com](https://www.figma.com)\n\u003cp align=\"center\"\u003e \n     \u003cimg src=\"https://live.staticflickr.com/65535/49445828106_8c8dc2f842_z.jpg\"\n          alt=\"TicketClock wireframe headers\"\n          width=\"350\"/\u003e\n     \u003cimg src=\"https://live.staticflickr.com/65535/49445828026_930fc5d467_c.jpg\"\n          alt=\"TicketClock wireframe myaccount\"\n          width=\"350\"/\u003e\n     \u003cimg src=\"https://live.staticflickr.com/65535/49445349983_45054c51cb_c.jpg\"\n          alt=\"TicketClock wireframe ticket\"\n          width=\"350\"/\u003e\n     \u003cimg src=\"https://live.staticflickr.com/65535/49445828051_40dfd0bf5c_c.jpg\"\n          alt=\"TicketClock wireframe new ticket\"\n          width=\"350\"/\u003e\n\u003c/p\u003e\n\n###### Entity Relationship Diagram using [lucidchart.com](https://www.lucidchart.com)\n\u003cp align=\"center\"\u003e \n     \u003cimg src=\"https://live.staticflickr.com/65535/49445828156_297606e957_b.jpg\"\n          alt=\"TicketClock ERD\"\n          width=\"600\"/\u003e\n\u003c/p\u003e \n\n## Getting Started\nCheckout site demo at [ticketclock.com](http://ticketclock.com) or run locally by following setup instructions below.\n### Backend API Setup\n###### Requirements\n* [JDK 8](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)\n* [Maven 4.0.0](https://maven.apache.org/)\n###### Install \u0026 Run\n1. Fork and clone project folder name 'ticket-clock-api'\n2. Set up your own [MongoDb Atlas cluster](https://cloud.mongodb.com/) and configure mongoDB 'URI' and 'database' name\n3. Configure [Eventful.com API key](https://api.eventful.com/) and [Google GeoCoding API key](https://developers.google.com/maps/documentation/javascript/geocoding)\n4. Configure `@CrossOrigin(origins = \"http://ticketclock.com\")` annotation within controller classes to allow frontend URL\n5. Run Spring Boot application locally by executing the 'main' method in 'com.TicketTime.TicketTime.TicketTimeApplication'\n###### Security\n```\n\u003cdependency\u003e\n  \u003cgroupId\u003eorg.springframework.boot\u003c/groupId\u003e\n  \u003cartifactId\u003espring-boot-starter-security\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nSpring Boot Starter Security default username is user and a generated security password is printed in the console like 'generated security password: 0123abc4-5678-9ef0-1g2h-i3456jklmno7'\n\n### Front End Site Setup\n###### Requirements\n* [Node - npm](https://www.npmjs.com/get-npm)\n###### Install \u0026 Run\n1. Fork and clone project folder named 'ticket-clock-api'\n2. Install dependencies with `npm install`\n3. Configure Spring security username, password, and backend API base URL\n4. Configure Google Maps API security key\n4. Start server locally with `npm start`\n\n \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feaball35%2Fdutch-ticket-auction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feaball35%2Fdutch-ticket-auction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feaball35%2Fdutch-ticket-auction/lists"}