A full-stack application for generating and sharing quizzes
Built with Node.js, Express, PostgreSQL, jQuery, CSS/SASS, Bootstrap 4, and hosted with Heroku
InquizitorApp is a RESTful, responsive full-stack web application that allows users to create, modify, and take quizzes, as well as share their results.
Created by Maria Regina Sirilan (@ahhreggi) and Paul Ladd (@itspladd).
This app was created as part of our midterm project for Lighthouse Labs' Web Development bootcamp. The goal was to create a full-stack application from start to finish in just one week.
Built with Node.js, Express, PostgreSQL, jQuery, CSS/SASS, and Bootstrap 4.
- Login by username/email or register an account
- Create and attempt public and unlisted quizzes
- View all public quizzes by category, trending, or featured
- Submit quiz reviews
- Share quiz results via unique links
- Add quizzes to your favorites
- Dashboard: View/modify your quizzes, favorites, and history
- Account settings: Customize your account avatar or delete your account
- Admin accounts: Special nametags + access to a control panel that overrides all permissions to delete, publish/unlist, or feature a quiz on the front page
Maria Regina Sirilan (@ahhreggi) - Front-end, UI/UX, API
My goal was to create a mobile-first, responsive UI that would help make the user experience as seamless as possible. Every bit of the app is designed with contextual feedback in mind - to provide relevant information to the user through visuals alone so that the UI could remain simple and intuitive. I also focused on scalability early on by dispersing assets and utilities into modular components. This minimized the variety of data passed between the client and server, making it significantly easier to implement additional stretch features towards the end while maintaining a high degree of customizability. Huge props to Paul (and their GOD queries) for holding our crazy database together and keeping up with my requests for progressively granular data! - Reggi ✌️
Paul Ladd (@itspladd) - Back-end architecture, database, API
Thanks, Reggi! My goal was to enforce a well-normalized database structure, to stop any data duplication errors before they could start. The database API is designed with a single point-of-entry, making it easy to bundle the entire database access API into server routes. Within the database API, I did my best to strike a balance between making the functions flexible and making them intuitive. Lower-level functions are designed to handle an arbitrary amount of input data, while higher-level functions are more granular, with longer, descriptive names designed to be easier to read in the server code. I also handled deployment to Heroku - my first Heroku app, and I learned a LOT! And likewise, huge props to Reggi for both her incredible front-end design and development skills and vision for the project as a whole!
The project is live here, but if you would prefer a local installation:
- Clone or download this repository
git clone https://github.com/itspladd/quiz-app
- Navigate to the project directory and install dependencies
cd quiz-app npm install
- Set up a local PostgreSQL db and seed the database
npm run db:reset
- Launch the development web server
npm run local
- Visit http://localhost:8080/ on your browser