Codify is a collaborative project by Alex Jackson, Imogen Minoli, and Seonaid McNabb .
No matter your background, learning to program requires discipline and dedication, along with the ability to evaluate your own errors, learn from your mistakes, and sift through massive amounts of information in order to find code solutions that work for your needs.
We designed Codify with our own experience as bootcamp students in mind, hoping to provide tools to facilitate some of the practical, organizational needs of programmers, as well as to provide spaces that encourage active learning.
In its current iteration, Codify has the following features:
- A quiz that students can use to regularly test their knowledge of popular programming languages
- An interactive whiteboard that can be used to visualize programming concepts, take, and save notes
- A personalized, searchable Q&A feature that encourages students to document their own questions and answers throughout their learning process, which can be reviewed regularly
- A searchable How-To blog where programmers can build a collection of their own instructions/tutorials related to coding tasks
- A customizable work priorities list (particularly geared towards career-changers)
Front end:
- React
- React Router
- React-icons
- React Reveal for transitions
- CSS / Chakra UI
- Figma for design mock-up
- Canva for logo
- HTML5 Canvas for whiteboard
- Roughjs, Perfect Freehand, React color, and Flaticon for drawing tools
- Quiz API for quiz questions
- Draft-js, DOMPurify, and html-react-parser for text editor
- Jest
- Enzyme
Backend:
- MySQL
- ExpressJS
- Clone the repository
- Run
npm install
to install packages
Start the back-end:
- Navigate to your MySQL command line and run:
mysql -u root -p
create database codify
cd my-express-app
npm install
npm run migrate
(only necessry the first time you run the project)npm start
Start the front-end
cd .. to return to root
cd client
npm install
npm start
The app will run on http://localhost:3000
as the default port and the back-end will run on http://localhost:5001
.
TODO: add description of API key set-up for QuizAPI
This project uses Jest and Enzyme for testing. Jest is a Javascript testing framework, and Enzyme helps to simplify test-writing.
Ideas for how we'd like to develop the project include:
- Adding a student and instructor log-in
- Adding a public "classroom" area where students can share information and resources, and contribute to a collaborative cheat-sheet
- A reflection blog area where students can regularly upload entries reflecting on what they've learned, what strategies worked for them, and set future learning goals
- A coding resource collection where students can upload tutorials, videos, articles, and links to resources
- An "unrelated" resources board, where students can upload articles, videos, etc. of concepts not directly related to programming, but which have deepened or expanded their understanding of the topic
- Linking back-end tables with tags in order to facilitate a global search of all resources and student entries
- An area to save frequently used code snippets and templates
- More advanced styling and search methods
This is a student project that was created at CodeOp, a full stack development bootcamp in Barcelona.