Created, designed, and developed by Misbah Ali, Jason Kang, and Zulay Scottborgh (Git Czar) for the General Assembly Software Engineering Immersive (July ’20 Cohort) Unit 3 Group Project.
Team values and expectations can be found on our project's Group Expectation Setting Document.
Digital assets used with full licensing and permission from Unsplash.
The myAlpaca is an app that will give students who are studying abroad an easy way to maneuver their new environment. The app will allow users to register for an account and create profiles that include the parameters of their choice such as their area of studies, interests, hobbies, and priorities.
- Create a NoSQL database with MongoDB, to host all user information.
- Create CRUD functionality for creating, updating, reading and deleting user on the backend
- Use the React framework to imprement front end CRUD functionality from registering a user, updating information and deactivating/deleting an account
- Deploying the app to Netlify or other similar services
const User = new Schema(
{
username: { type: String, required: true },
email: { type: String, required: true },
password: { type: String, required: true },
from_location: {type: String},
to_location: {type: String},
education: {type: String},
area_of_study: {type: Array},
interests: {type: Array},
hobbies: {type: Array},
assistance: {type: Array},
priorities: {type: Array}
},
{ timestamps: true }
)
module.exports = mongoose.model('users', User)
Library | Description |
---|---|
React | Powers the application functionality/environment |
React Router | Allows application to be navigable without having to refresh the page. |
MongoDB | A document-oriented NoSQL database used for high volume data storage. |
Express | A Node.js web application server framework, designed for building multi-page web applications |
Express Router | Express router is a class which helps us to create router handlers |
myAlpaca Wireframe + Style Guide
- Desktop Layout for Home Page, Register User, Build Profile, Delete Profile
####front end
src
|__ components/
|__ shared/
|__ Footer/
|__ Footer.jsx
|__ Footer.css
|__ Header/
|__ Header.jsx
|__ Header.css
|__ screens/
|__ RegisterPage/
|__ RegisterPage.jsx
|__ RegisterPage.css
|__ UserCreate/
|__ UserCreate.jsx
|__ UserCreate.css
|__ UserEdit/
|__ UserEdit.jsx
|__ UserEdit.css
|__ UserDelete/
|__ UserDelete.jsx
|__ UserDelete.css
|__ Home/
|__ services/
|__ apiConfig.jsx
|__ users.jsx
|__ utils/
|__ App.js
|__ index.js
####backend
|__ components/
|__ users.js
|__ db/
|__ connection.js
|__ models/
|__ user.js
|__ routes/
|__ users.js
|__ seed/
|__ users.js
|__ .gitignore
|__ package.json
|__ server.js
Component | Type | state | props | Description |
---|---|---|---|---|
Header | functional | n | n | The header will contain the navigation and logo. |
Navigation | functional | n | n | The navigation will provide a link to each of the pages. |
Gallery | class | y | n | The gallery will render the posts using cards in flexbox. |
Gallery Card | functional | n | y | The cards will render the post info via props. |
Footer | functional | n | n | The footer will show info about me and a link to my portfolio. |
Task | Priority | Estimated Time | Time Invested | Actual Time |
---|---|---|---|---|
Add Contact Form | L | 3 hrs | 2 hrs | 3 hrs |
Create CRUD Actions | H | 3 hrs | 1 hrs | TBD |
TOTAL | 6 hrs | 3 hrs | TBD |
controllers
|__ users.js
|
db
|__ connection.js
|
models
|__ user.js
|
routes
|__ users.js
|
seed
|__ users.js
|
.gitignore
package.json
server.js
The goals for this project post-MVP are as follows:
- Homepage build-out
- Log In Page?
- Restaurant Page
- Search Bar functionality
Use this section to include a brief code snippet of functionality that you are proud of and a brief description.
Use this section to list of all major issues encountered and their resolution, if you'd like.