Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ComProDB.ME

Tres
April 22, 2016

 ComProDB.ME

Software Engineering Presentation

Tres

April 22, 2016
Tweet

Other Decks in Business

Transcript

  1. Members • Tres Popp ◦ Server and Database ◦ 37

    commits, 14 issues, 0 tests • Robert Lynch ◦ Front End and Carina ◦ 57 commits, 21 issues, 0 tests • Joey Ewbank ◦ Testing and API ◦ 11 commits, 7 issues, 27 tests • Jaime Rivera ◦ Technical Writing and API ◦ 6 commits, 4 issues, 0 tests
  2. What’s Competitive Programming? What’s Codeforces? Competitive Programming is a mind

    sport in which programmers compete to solve problems focused around data structures and algorithms. Typical competitions consist of a single problem set where users must write both correct and efficient programs to each problem. The team or individual who solves the most in the fastest time wins. Codeforces is a site that offers a competitive platform for programmers. Virtually every week Codeforces provides new problem sets for users to hone their skills and gain recognition. Our site is focused on presenting Codeforces information in an elegant manner.
  3. Why Use ComProDB? ComProDB gives competitors, coaches, and aspiring programmers

    the ability to hone their skills and discover top talent. Current competitors can compare their rating against the competition, coaches can discover budding talent, and newcomers have the opportunity to tackle new challenges arranged by difficulty or problem strategy. ComProDB arranges all of this information through a clean interface relating Codeforces competitors, competitions, and problems.
  4. API API endpoints based off of pillars / front-end pages

    • Users ◦ /api/users?{page,sortBy,order} ◦ /api/users/{id} • Contests ◦ /api/contests?{page,sortBy,order} ◦ /api/contests/{id} • Problems ◦ /api/problems?{page,sortBy,order} ◦ /api/problems/{id} ▪ problem_id = contest_id + index • Search ◦ /api/search/?query={query}
  5. UML • Pillars: ◦ Users ◦ Problems ◦ Competitions •

    Users: ◦ Can partake in competitions ◦ Can solve problems • Problems ◦ Each problem belongs to a competition ◦ Problems have a number of users who solved them • Competitions ◦ Consists of multiple problems ◦ Has variable number of users competing
  6. Critiquing meteorite-landings.me • What did they do well? ◦ Their

    landing page was great. Very appealing and interesting. • What did we learn? ◦ Their landing page’s organization gave us insight on how to improve our own. We could have also had better table pagination across our models. • What can they do better? ◦ The colors along with header locations were a bit confusing to follow • What puzzles us? ◦ Why could the map be zoomed out so much?
  7. Critiquing ComProDB.me - What did we do well? - We

    provided backend pagination and sorting - We laid out a good infrastructure to move from mock-data to dynamic - Rough project #1, easier project #2 - What could we have done better? - Design was a weak point - Collaboration - What did we learn? - Benefits of ORM’s (SQLAlchemy) - Benefits of Docker - Importance of diversity in experience - What puzzles us? - Carina gave us a lot of trouble.