-
Notifications
You must be signed in to change notification settings - Fork 6
Milestone 1 Report
The start phase of the project was challenging since it includes creating and organizing small teams,choosing technologies, training of the team members, installation and setup processes of necessary programs. It took a considerable time to begin working on the project in terms of implementation. The overhead due to initialization process causes creating less as a last product for the customer. Profile page, desktop web design and building Android app are obvious missing points in this milestone. However, we are able to show the basic logic of the platform.
Deliverable | Status |
---|---|
Authentication with JWT | Completed |
Create user and event models and APIs | Completed |
Sign In, Sign Up Pages | Completed |
Feed page | Completed |
Event Detail & Creation Page | Completed |
User Profile Page | Not Complete |
Desktop Web Design | Not Complete |
Building Android App | Not Complete |
NodeJS Architecture Design and Setup | Completed |
Ionic Architecture Design and Setup | Completed |
Deployment | Completed |
In backend, we desire to have a concise as well as flexible architecture enabling creating models for abstraction of data and dividing the code into modules via controllers. The current architecture is, for now, sufficient for creating our event share platform, Actopus. Moreover, all the backend deliverables are successfully completed in this milestone. For the next milestones, the
Person | Coding Summary |
---|---|
Didem Öngü | - |
Kemal Tulum | - |
Oğuz Kaan Yüksel | Frontend Authentication & Data Services, Frontend-Backend integration, Frontend routing & feature modularization: Non-UI frontend base system |
İlyas Demirkıran | - |
Gökhan Tekel | - |
Özgür Akaoğlu | Event Data Model Delete Route, Authentication with JWT |
Ümit Yolcu | Event Data Model Route / Controller Creation |
Yusuf Kalaycı | User Model Signin Route / Sesion Control |
Nazmican Çalık | Backend server initial structure, initial code with User Data model and route, JWT Authentication, Database Setup, mLab and Heroku Continuous Deployment |
We have designed our application to behave as a full stack multi-platform application. Our application has 2 platforms: Mobile application and Web Application. They both share the same database on the backend side. One server for our application serves the database and necessary CRUD operations via api. We are using ionic framework for frontend and mobile application. Our backend serves the static files that ionic framework creates and also serves api endpoints under /api route. We used a nosql database (mongodb) fot the application. Also, we have created a continuous deployment using heroku services. We are planning to create CRUD operations for all data models and also create search and recommendation engines to make the platform more interactable.
Teams and workflow: In the project we have two main teams. One for frontend and one for backend. Our root repository holds both backend and frontend stack together. We have one main branch for code development and production, which is master. Each task is solved/carried out under feature branches, and then they are deleted. For example: If authentication is a feature, the developer opens a new branch for the feature and works there. After completing the feature s/he opens a pull request and merges the feature to master if it is accepted.(Rebase strategy is used) We have an automated pr checker (codacy bot) for conventions and better pull requests. User Stories and Tasks: Each task corresponds to a user story. At the scrum meetings we decide about the main tasks and user stories. After that user stories are created as issues on the github. Then assigned to backend or frontend team leaders. After that team leaders decide about the technical specific tasks and assigns them to team members. This is the main workflow that we follow. Folder Structure and Deployment: Backend and frontend teams works under their corresponding folders, which are seperated under the repository. In the main project root. We have another package.json which is the entry point for our node environment. When there is a push to master (a successfull pull request), heroku installs the dependencies recursively in both backend and frontend folders. After getting the dependencies, it builds the frontend and starts up the backend server which serves the static frontend and api routes. Branch Naming Convention: We use the following format for branch naming:
- [task-type]/[platform]/[name or desc of the task] for example: feature/backend/auth
- [feature|refactor|bug|test]/[backend|frontend|deployment]/[descriptive-name]