Code Monkey home page Code Monkey logo

project-2's Introduction

Project #2: Building Your First Full-stack Application

Groups

  1. Noemi + Hannah
  2. Tyler + Zoe
  3. Ben + Samat
  4. Alyssa + MJ
  5. Irwin + Marie + Sam M

Overview

This second project is your first foray into building a full-stack application. You'll be building a Express app, which means you'll learn about what it takes to build a functional application from the ground up yourself.

This is exciting! It's a lot, but we'll give you the tools over the next few weeks to be able build what you need, and you get to decide what you do with it. And you get to be creative in choosing what sort of application you want to build!

You will be working in pairs for this project, and you'll be designing the app together. We hope you'll exercise creativity on this project, sketch some wireframes before you start, and write user stories to define what your users will want to do with the app. Make sure you have time to run these ideas by your instructors to get their feedback before you dive too deep into code! Remember to keep things small and focus on mastering the fundamentals – scope creep/feature creep is the biggest pitfall for any project!


Technical Requirements

Your app must:

  • Have at least 2 models (more if they make sense!) – one representing someone using your application, and one that represents the main functional idea for your app
  • Include sign up/log in functionality, with encrypted passwords & an authorization flow
  • Include wireframes that you designed during the planning process
  • Have semantically clean HTML and CSS
  • Bonus: Be deployed online and accessible to the public
  • (were going to teach you how to deploy on heroku)

Necessary Deliverables

  • A working full-stack application, built by you
  • Bonus: hosted somewhere on the internet
  • A link to your hosted working app in the URL section of your Github repo
  • A git repository hosted on Github, with a link to your hosted project, and frequent commits dating back to the very beginning of the project. Commit early, commit often.
  • A readme.md file with explanations of the technologies used, the approach taken, installation instructions, unsolved problems, etc.
  • Wireframes of your app, hosted somewhere & linked in your readme
  • A link in your readme.md to the publically-accessible user stories you created

Suggested Ways to Get Started

  • Begin with the end in mind. Know where you want to go by planning with wireframes & user stories, so you don't waste time building things you don't need. Keep it lean and keep it elegant.
  • Don’t hesitate to write throwaway code to solve short term problems
  • Read the docs for whatever technologies you use. Most of the time, there is a tutorial that you can follow, but not always, and learning to read documentation is crucial to your success as a developer
  • Commit early, commit often. Don’t be afraid to break something because you can always go back in time to a previous version.
  • User stories define what a specific type of user wants to accomplish with your application. It's tempting to just make them todo lists for what needs to get done, but if you keep them small & focused on what a user cares about from their perspective, it'll help you know what ot build
  • Write pseudocode before you write actual code. Thinking through the logic of something helps.

Potential Project Ideas

Cheerups

The world is a depressing place.

Your task is to create an app that will allow people to create and share "cheerups" - happy little quips to brighten other peoples' days. Cheerups will be small - limited to 139 characters. Members will be able to promote Cheerups that they like and maybe even boost the reputation of the Cheerupper.

Bookmarket

You will create an application where users can bookmark links they want to keep.

But what if users could trade bookmarks for other bookmarks? Or sell bookmarks for points? Or send bookmarks to your friends. Or something even crazier.

Photo sharing app

Users will be able to register and create albums and photos. Albums and photos will need to be named and described by their owners. Users will be able to view other users' albums. Maybe users can comment on photos, or either up/down vote them.


Useful Resources


Project Feedback + Evaluation

  • Project Workflow: Did you complete the user stories, wireframes, task tracking, and/or ERDs, as specified above? Did you use source control as expected for the phase of the program you’re in (detailed above)?

  • Technical Requirements: Did you deliver a project that met all the technical requirements? Given what the class has covered so far, did you build something that was reasonably complex?

  • Creativity: Did you add a personal spin or creative element into your project submission? Did you deliver something of value to the end user (not just a login button and an index page)?

  • Code Quality: Did you follow code style guidance and best practices covered in class, such as spacing, modularity, and semantic naming? Did you comment your code as your instructors as we have in class?

  • Deployment and Functionality: Is your application deployed and functional at a public URL? Is your application free of errors and incomplete functionality?

  • Total: Your instructors will give you a total score on your project between:

    Score Expectations
    0 Incomplete.
    1 Does not meet expectations.
    2 Meets expectactions, good job!
    3 Exceeds expectations, you wonderful creature, you!

This will serve as a helpful overall gauge of whether you met the project goals, but the more important scores are the individual ones above, which can help you identify where to focus your efforts for the next project!

project-2's People

Contributors

jimbojones1 avatar reubenayres avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.